public JProperty Serialize() { JObject ext = new JObject(); if (ModmapFactor != MODMAP_FACTOR_DEFAULT) { ext.Add(new JProperty( FB_materials_modmapExtensionFactory.MODMAP_FACTOR, new JArray(ModmapFactor.X, ModmapFactor.Y, ModmapFactor.Z) )); } if (ModmapTexture != MODMAP_TEXTURE_DEFAULT) { JObject jObj = new JObject(); ModmapTexture.Serialize(jObj); ext.Add(new JProperty( FB_materials_modmapExtensionFactory.MODMAP_TEXTURE, jObj ) ); } return(new JProperty(FB_materials_modmapExtensionFactory.EXTENSION_NAME, ext)); }
public override void Serialize(JsonWriter writer) { writer.WriteStartObject(); if (PbrMetallicRoughness != null) { writer.WritePropertyName("pbrMetallicRoughness"); PbrMetallicRoughness.Serialize(writer); } if (NormalTexture != null) { writer.WritePropertyName("normalTexture"); NormalTexture.Serialize(writer); } if (OcclusionTexture != null) { writer.WritePropertyName("occlusionTexture"); OcclusionTexture.Serialize(writer); } if (EmissiveTexture != null) { writer.WritePropertyName("emissiveTexture"); EmissiveTexture.Serialize(writer); } if (EmissiveFactor != Color.Black) { writer.WritePropertyName("emissiveFactor"); writer.WriteStartArray(); writer.WriteValue(EmissiveFactor.R); writer.WriteValue(EmissiveFactor.G); writer.WriteValue(EmissiveFactor.B); writer.WriteEndArray(); } if (AlphaMode != AlphaMode.OPAQUE) { writer.WritePropertyName("alphaMode"); writer.WriteValue(AlphaMode.ToString()); } if (AlphaCutoff != 0.5) { writer.WritePropertyName("alphaCutoff"); writer.WriteValue(AlphaCutoff); } if (DoubleSided) { writer.WritePropertyName("doubleSided"); writer.WriteValue(true); } base.Serialize(writer); writer.WriteEndObject(); }
public override void Serialize(JsonWriter writer) { writer.WriteStartObject(); if (AmbientFactor != Color.White) { writer.WritePropertyName("ambientFactor"); writer.WriteStartArray(); writer.WriteValue(AmbientFactor.R); writer.WriteValue(AmbientFactor.G); writer.WriteValue(AmbientFactor.B); writer.WriteEndArray(); } if (LightmapTexture != null) { writer.WritePropertyName("lightmapTexture"); LightmapTexture.Serialize(writer); } if (LightmapFactor != Color.White) { writer.WritePropertyName("lightmapFactor"); writer.WriteStartArray(); writer.WriteValue(LightmapFactor.R); writer.WriteValue(LightmapFactor.G); writer.WriteValue(LightmapFactor.B); writer.WriteEndArray(); } base.Serialize(writer); writer.WriteEndObject(); }
public override void Serialize(JsonWriter writer) { writer.WriteStartObject(); if (BaseColorFactor != Color.White) { writer.WritePropertyName("baseColorFactor"); writer.WriteStartArray(); writer.WriteValue(BaseColorFactor.R); writer.WriteValue(BaseColorFactor.G); writer.WriteValue(BaseColorFactor.B); writer.WriteValue(BaseColorFactor.A); writer.WriteEndArray(); } if (BaseColorTexture != null) { writer.WritePropertyName("baseColorTexture"); BaseColorTexture.Serialize(writer); } if (MetallicFactor != 1.0f) { writer.WritePropertyName("metallicFactor"); writer.WriteValue(MetallicFactor); } if (RoughnessFactor != 1.0f) { writer.WritePropertyName("roughnessFactor"); writer.WriteValue(RoughnessFactor); } if (MetallicRoughnessTexture != null) { writer.WritePropertyName("metallicRoughnessTexture"); MetallicRoughnessTexture.Serialize(writer); } base.Serialize(writer); writer.WriteEndObject(); }
public JProperty Serialize() { if (CommonTechnique.NONE == Technique) { return(new JProperty("", new JObject())); } JObject ext = new JObject(); ext.Add(new JProperty( KHR_materials_commonExtensionFactory.TECHNIQUE, Technique.ToString() )); var valuesObj = new JObject(); ext.Add(new JProperty( KHR_materials_commonExtensionFactory.VALUES, valuesObj) ); if (Ambient != AMBIENT_DEFAULT) { valuesObj.Add(new JProperty( KHR_materials_commonExtensionFactory.AMBIENT, new JArray(Ambient.R, Ambient.G, Ambient.B) )); } if (EmissionTexture != EMISSIONTEXTURE_DEFAULT) { JObject jObj = new JObject(); EmissionTexture.Serialize(jObj); valuesObj.Add(new JProperty( KHR_materials_commonExtensionFactory.EMISSION, jObj ) ); } else { if (EmissionColor != EMISSIONCOLOR_DEFAULT) { valuesObj.Add(new JProperty( KHR_materials_commonExtensionFactory.EMISSION, new JArray(EmissionColor.R, EmissionColor.G, EmissionColor.B) )); } } if (Technique == CommonTechnique.LAMBERT || Technique == CommonTechnique.PHONG || Technique == CommonTechnique.BLINN || Technique == CommonTechnique.CONSTANT) { if (DiffuseTexture != DIFFUSETEXTURE_DEFAULT) { JObject jObj = new JObject(); DiffuseTexture.Serialize(jObj); valuesObj.Add(new JProperty( KHR_materials_commonExtensionFactory.DIFFUSE, jObj ) ); } else { if (DiffuseColor != DIFFUSECOLOR_DEFAULT) { valuesObj.Add(new JProperty( KHR_materials_commonExtensionFactory.DIFFUSE, new JArray(DiffuseColor.R, DiffuseColor.G, DiffuseColor.B) )); } } } if (Technique == CommonTechnique.PHONG || Technique == CommonTechnique.BLINN) { if (SpecularTexture != SPECULARTEXTURE_DEFAULT) { JObject jObj = new JObject(); SpecularTexture.Serialize(jObj); valuesObj.Add(new JProperty( KHR_materials_commonExtensionFactory.SPECULAR, jObj ) ); } else { if (SpecularColor != Color.Black) { if (SpecularColor != SPECULARCOLOR_DEFAULT) { valuesObj.Add(new JProperty( KHR_materials_commonExtensionFactory.SPECULAR, new JArray(SpecularColor.R, SpecularColor.G, SpecularColor.B) )); } } } if (Shininess != SHININESS_DEFAULT) { valuesObj.Add(new JProperty( KHR_materials_commonExtensionFactory.SHININESS, Shininess )); } } if (Transparency != TRANSPARENCY_DEFAULT) { valuesObj.Add(new JProperty( KHR_materials_commonExtensionFactory.TRANSPARENCY, Transparency )); } if (Transparent != TRANSPARENT_DEFAULT) { valuesObj.Add(new JProperty( KHR_materials_commonExtensionFactory.TRANSPARENT, Transparent )); } if (DoubleSided != DOUBLESIDED_DEFAULT) { valuesObj.Add(new JProperty( KHR_materials_commonExtensionFactory.DOUBLESIDED, DoubleSided )); } return(new JProperty(KHR_materials_commonExtensionFactory.EXTENSION_NAME, ext)); }