123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222 |
- using System.Runtime.Serialization;
- namespace BabylonExport.Entities
- {
- [DataContract]
- public class BabylonPBRMaterial : BabylonMaterial
- {
- [DataMember]
- public string customType { get; private set; }
- [DataMember]
- public float directIntensity { get; set; }
- [DataMember]
- public float emissiveIntensity { get; set; }
- [DataMember]
- public float environmentIntensity { get; set; }
- [DataMember]
- public float specularIntensity { get; set; }
- [DataMember]
- public float cameraExposure { get; set; }
- [DataMember]
- public float cameraContrast { get; set; }
- [DataMember]
- public float microSurface { get; set; }
- [DataMember]
- public float overloadedShadowIntensity { get; set; }
- [DataMember]
- public float overloadedShadeIntensity { get; set; }
- [DataMember]
- public float overloadedAmbientIntensity { get; set; }
- [DataMember]
- public float overloadedAlbedoIntensity { get; set; }
- [DataMember]
- public float overloadedReflectivityIntensity { get; set; }
- [DataMember]
- public float overloadedEmissiveIntensity { get; set; }
- [DataMember]
- public float[] overloadedAmbient { get; set; }
- [DataMember]
- public float[] overloadedAlbedo { get; set; }
- [DataMember]
- public float[] overloadedReflectivity { get; set; }
- [DataMember]
- public float[] overloadedEmissive { get; set; }
- [DataMember]
- public float[] overloadedReflection { get; set; }
- [DataMember]
- public float overloadedMicroSurface { get; set; }
- [DataMember]
- public float overloadedMicroSurfaceIntensity { get; set; }
- [DataMember]
- public float overloadedReflectionIntensity { get; set; }
- [DataMember]
- public BabylonTexture albedoTexture { get; set; }
- [DataMember]
- public BabylonTexture ambientTexture { get; set; }
- [DataMember]
- public BabylonTexture opacityTexture { get; set; }
- [DataMember]
- public BabylonTexture reflectionTexture { get; set; }
- [DataMember]
- public BabylonTexture emissiveTexture { get; set; }
- [DataMember]
- public BabylonTexture reflectivityTexture { get; set; }
- [DataMember]
- public BabylonTexture bumpTexture { get; set; }
- [DataMember]
- public BabylonTexture lightmapTexture { get; set; }
- [DataMember]
- public BabylonTexture metallicTexture { get; set; }
- [DataMember]
- public bool useLightmapAsShadowmap { get; set; }
- [DataMember]
- public BabylonTexture refractionTexture { get; set; }
- [DataMember]
- public float[] ambient { get; set; }
- [DataMember]
- public float[] albedo { get; set; }
- [DataMember]
- public float[] reflectivity { get; set; }
- [DataMember]
- public float[] reflection { get; set; }
- [DataMember]
- public float[] emissive { get; set; }
- [DataMember]
- public float? roughness { get; set; }
- [DataMember]
- public float? metallic { get; set; }
- [DataMember]
- public bool useMicroSurfaceFromReflectivityMapAplha { get; set; }
- [DataMember]
- public bool linkRefractionWithTransparency { get; set; }
- [DataMember]
- public bool useRoughnessFromMetallicTextureAlpha { get; set; }
- [DataMember]
- public bool useRoughnessFromMetallicTextureGreen { get; set; }
- [DataMember]
- public bool useAlphaFromAlbedoTexture { get; set; }
- [DataMember]
- public bool useEmissiveAsIllumination { get; set; }
- [DataMember]
- public bool useMicroSurfaceFromReflectivityMapAlpha { get; set; }
- [DataMember]
- public bool useSpecularOverAlpha { get; set; }
- [DataMember]
- public bool useRadianceOverAlpha { get; set; }
- [DataMember]
- public bool usePhysicalLightFalloff { get; set; }
- [DataMember]
- public float indexOfRefraction { get; set; }
- [DataMember]
- public bool invertRefractionY { get; set; }
- [DataMember]
- public BabylonFresnelParameters emissiveFresnelParameters { get; set; }
- [DataMember]
- public BabylonFresnelParameters opacityFresnelParameters { get; set; }
- [DataMember]
- public bool disableLighting { get; set; }
- [DataMember]
- public bool twoSidedLighting { get; set; }
- public BabylonPBRMaterial() : base()
- {
- customType = "BABYLON.PBRMaterial";
- directIntensity = 1.0f;
- emissiveIntensity = 1.0f;
- environmentIntensity = 1.0f;
- specularIntensity = 1.0f;
- cameraExposure = 1.0f;
- cameraContrast = 1.0f;
- indexOfRefraction = 0.66f;
- twoSidedLighting = false;
- useRadianceOverAlpha = true;
- useSpecularOverAlpha = true;
- usePhysicalLightFalloff = true;
- useEmissiveAsIllumination = false;
- // Default Null Metallic Workflow
- metallic = null;
- roughness = null;
- useRoughnessFromMetallicTextureAlpha = true;
- useRoughnessFromMetallicTextureGreen = false;
- microSurface = 0.9f;
- useMicroSurfaceFromReflectivityMapAplha = false;
- overloadedShadowIntensity = 1.0f;
- overloadedShadeIntensity = 1.0f;
- ambient = new[] { 0f, 0f, 0f };
- albedo = new[] { 1f, 1f, 1f };
- reflectivity = new[] { 1f, 1f, 1f };
- reflection = new[] { 0.5f, 0.5f, 0.5f };
- emissive = new[] { 0f, 0f, 0f };
- overloadedAmbient = new[] { 0f, 0f, 0f };
- overloadedAlbedo = new[] { 1f, 1f, 1f };
- overloadedReflectivity = new[] { 0.3f, 0.3f, 0.3f };
- overloadedEmissive = new[] {1f, 1f, 1f };
- overloadedReflection = new[] { 1f, 1f, 1f };
- }
- public void SetCustomType(string type)
- {
- this.customType = type;
- }
- }
- }
|