public void Export(TextWriter writer) { if (Name != string.Empty) { writer.WriteIntent(3); writer.Write("Name \"{0}\"\n", Name); } if (LOD != 0) { writer.WriteIntent(3); writer.Write("LOD {0}\n", LOD); } Tags.Export(writer, 3); RtBlend0.Export(writer, RtSeparateBlend ? 0 : -1); RtBlend1.Export(writer, 1); RtBlend2.Export(writer, 2); RtBlend3.Export(writer, 3); RtBlend4.Export(writer, 4); RtBlend5.Export(writer, 5); RtBlend6.Export(writer, 6); RtBlend7.Export(writer, 7); if (AlphaToMaskValue) { writer.WriteIntent(3); writer.Write("AlphaToMask On\n"); } if (!ZClipValue.IsOn()) { writer.WriteIntent(3); writer.Write("ZClip {0}\n", ZClipValue); } if (!ZTestValue.IsLEqual()) { writer.WriteIntent(3); writer.Write("ZTest {0}\n", ZTestValue); } if (!ZWriteValue.IsOn()) { writer.WriteIntent(3); writer.Write("ZWrite {0}\n", ZWriteValue); } if (!CullingValue.IsBack()) { writer.WriteIntent(3); writer.Write("Cull {0}\n", CullingValue); } if (!OffsetFactor.IsZero || !OffsetUnits.IsZero) { writer.WriteIntent(3); writer.Write("Offset {0}, {1}\n", OffsetFactor.Val, OffsetUnits.Val); } if (!StencilRef.IsZero || !StencilReadMask.IsMax || !StencilWriteMask.IsMax || !StencilOp.IsDefault || !StencilOpFront.IsDefault || !StencilOpBack.IsDefault) { writer.WriteIntent(3); writer.Write("Stencil {\n"); if (!StencilRef.IsZero) { writer.WriteIntent(4); writer.Write("Ref {0}\n", StencilRef.Val); } if (!StencilReadMask.IsMax) { writer.WriteIntent(4); writer.Write("ReadMask {0}\n", StencilReadMask.Val); } if (!StencilWriteMask.IsMax) { writer.WriteIntent(4); writer.Write("WriteMask {0}\n", StencilWriteMask.Val); } if (!StencilOp.IsDefault) { StencilOp.Export(writer, StencilType.Base); } if (!StencilOpFront.IsDefault) { StencilOpFront.Export(writer, StencilType.Front); } if (!StencilOpBack.IsDefault) { StencilOpBack.Export(writer, StencilType.Back); } writer.WriteIntent(3); writer.Write("}\n"); } if (!FogMode.IsUnknown() || !FogColor.IsZero || !FogDensity.IsZero || !FogStart.IsZero || !FogEnd.IsZero) { writer.WriteIntent(3); writer.Write("Fog {\n"); if (!FogMode.IsUnknown()) { writer.WriteIntent(4); writer.Write("Mode {0}\n", FogMode); } if (!FogColor.IsZero) { writer.WriteIntent(4); writer.Write("Color ({0},{1},{2},{3})\n", FogColor.X.Val.ToString(CultureInfo.InvariantCulture), FogColor.Y.Val.ToString(CultureInfo.InvariantCulture), FogColor.Z.Val.ToString(CultureInfo.InvariantCulture), FogColor.W.Val.ToString(CultureInfo.InvariantCulture)); } if (!FogDensity.IsZero) { writer.WriteIntent(4); writer.Write("Density {0}\n", FogDensity.Val.ToString(CultureInfo.InvariantCulture)); } if (!FogStart.IsZero || !FogEnd.IsZero) { writer.WriteIntent(4); writer.Write("Range {0}, {1}\n", FogStart.Val.ToString(CultureInfo.InvariantCulture), FogEnd.Val.ToString(CultureInfo.InvariantCulture)); } writer.WriteIntent(3); writer.Write("}\n"); } if (Lighting) { writer.WriteIntent(3); writer.Write("Lighting {0}\n", LightingValue); } writer.WriteIntent(3); writer.Write("GpuProgramID {0}\n", GpuProgramID); }
public StringBuilder ToString(StringBuilder sb) { if (Name != string.Empty) { sb.AppendIntent(3).Append("Name").Append(' '); sb.Append('"').Append(Name).Append('"'); sb.Append('\n'); } if (LOD != 0) { sb.AppendIntent(3).Append("LOD").Append(' ').Append(LOD).Append('\n'); } Tags.ToString(sb, 3); RtBlend0.ToString(sb, RtSeparateBlend ? 0 : -1); RtBlend1.ToString(sb, 1); RtBlend2.ToString(sb, 2); RtBlend3.ToString(sb, 3); RtBlend4.ToString(sb, 4); RtBlend5.ToString(sb, 5); RtBlend6.ToString(sb, 6); RtBlend7.ToString(sb, 7); if (AlphaToMaskValue) { sb.AppendIntent(3).Append("AlphaToMask").Append(' ').Append("On").Append('\n'); } if (!ZClipValue.IsOn()) { sb.AppendIntent(3).Append("ZClip").Append(' ').Append(ZClipValue).Append('\n'); } if (!ZTestValue.IsLEqual()) { sb.AppendIntent(3).Append("ZTest").Append(' ').Append(ZTestValue).Append('\n'); } if (!ZWriteValue.IsOn()) { sb.AppendIntent(3).Append("ZWrite").Append(' ').Append(ZWriteValue).Append('\n'); } if (!CullingValue.IsBack()) { sb.AppendIntent(3).Append("Cull").Append(' ').Append(CullingValue).Append('\n'); } if (!OffsetFactor.IsZero || !OffsetUnits.IsZero) { sb.AppendIntent(3).Append("Offset").Append(' ').Append(OffsetFactor.Val).Append(',').Append(' ').Append(OffsetUnits.Val).Append('\n'); } if (!StencilRef.IsZero || !StencilReadMask.IsMax || !StencilWriteMask.IsMax || !StencilOp.IsDefault || !StencilOpFront.IsDefault || !StencilOpBack.IsDefault) { sb.AppendIntent(3).Append("Stencil").Append(' ').Append('{').Append('\n'); if (!StencilRef.IsZero) { sb.AppendIntent(4).Append("Ref").Append(' ').Append(StencilRef.Val).Append('\n'); } if (!StencilReadMask.IsMax) { sb.AppendIntent(4).Append("ReadMask").Append(' ').Append(StencilReadMask.Val).Append('\n'); } if (!StencilWriteMask.IsMax) { sb.AppendIntent(4).Append("WriteMask").Append(' ').Append(StencilWriteMask.Val).Append('\n'); } if (!StencilOp.IsDefault) { StencilOp.ToString(sb, StencilType.Base); } if (!StencilOpFront.IsDefault) { StencilOpFront.ToString(sb, StencilType.Front); } if (!StencilOpBack.IsDefault) { StencilOpBack.ToString(sb, StencilType.Back); } sb.AppendIntent(3).Append('}').Append('\n'); } if (!FogMode.IsUnknown() || !FogColor.IsZero || !FogDensity.IsZero || !FogStart.IsZero || !FogEnd.IsZero) { sb.AppendIntent(3).Append("Fog").Append(' ').Append('{').Append('\n'); if (!FogMode.IsUnknown()) { sb.AppendIntent(4).Append("Mode").Append(' ').Append(FogMode).Append('\n'); } if (!FogColor.IsZero) { sb.AppendIntent(4).Append("Color").Append(' ').Append('('); sb.Append(FogColor.X.Val.ToString(CultureInfo.InvariantCulture)).Append(','); sb.Append(FogColor.Y.Val.ToString(CultureInfo.InvariantCulture)).Append(','); sb.Append(FogColor.Z.Val.ToString(CultureInfo.InvariantCulture)).Append(','); sb.Append(FogColor.W.Val.ToString(CultureInfo.InvariantCulture)); sb.Append(')').Append('\n'); } if (!FogDensity.IsZero) { sb.AppendIntent(4).Append("Density").Append(' ').Append(FogDensity.Val.ToString(CultureInfo.InvariantCulture)).Append('\n'); } if (!FogStart.IsZero || !FogEnd.IsZero) { sb.AppendIntent(4).Append("Range").Append(' ').Append(FogStart.Val.ToString(CultureInfo.InvariantCulture)).Append(','); sb.Append(' ').Append(FogEnd.Val.ToString(CultureInfo.InvariantCulture)).Append('\n'); } sb.AppendIntent(3).Append('}').Append('\n'); } if (Lighting) { sb.AppendIntent(3).Append("Lighting").Append(' ').Append(LightingValue).Append('\n'); } sb.AppendIntent(3).Append("GpuProgramID").Append(' ').Append(GpuProgramID).Append('\n'); return(sb); }