private static string ConvertStencilComp(SerializedShaderFloatValue comp) { switch (comp.val) { case 0f: return("Disabled"); case 1f: return("Never"); case 2f: return("Less"); case 3f: return("Equal"); case 4f: return("LEqual"); case 5f: return("Greater"); case 6f: return("NotEqual"); case 7f: return("GEqual"); case 8f: default: return("Always"); } }
private static string ConvertStencilOp(SerializedShaderFloatValue op) { switch (op.val) { case 0f: default: return("Keep"); case 1f: return("Zero"); case 2f: return("Replace"); case 3f: return("IncrSat"); case 4f: return("DecrSat"); case 5f: return("Invert"); case 6f: return("IncrWrap"); case 7f: return("DecrWrap"); } }
public SerializedStencilOp(BinaryReader reader) { pass = new SerializedShaderFloatValue(reader); fail = new SerializedShaderFloatValue(reader); zFail = new SerializedShaderFloatValue(reader); comp = new SerializedShaderFloatValue(reader); }
public SerializedShaderVectorValue(BinaryReader reader) { x = new SerializedShaderFloatValue(reader); y = new SerializedShaderFloatValue(reader); z = new SerializedShaderFloatValue(reader); w = new SerializedShaderFloatValue(reader); name = reader.ReadAlignedString(); }
public SerializedShaderRTBlendState(BinaryReader reader) { srcBlend = new SerializedShaderFloatValue(reader); destBlend = new SerializedShaderFloatValue(reader); srcBlendAlpha = new SerializedShaderFloatValue(reader); destBlendAlpha = new SerializedShaderFloatValue(reader); blendOp = new SerializedShaderFloatValue(reader); blendOpAlpha = new SerializedShaderFloatValue(reader); colMask = new SerializedShaderFloatValue(reader); }
public SerializedShaderState(ObjectReader reader) { var version = reader.version; m_Name = reader.ReadAlignedString(); rtBlend = new SerializedShaderRTBlendState[8]; for (var i = 0; i < 8; i++) { rtBlend[i] = new SerializedShaderRTBlendState(reader); } rtSeparateBlend = reader.ReadBoolean(); reader.AlignStream(); if (version[0] > 2017 || (version[0] == 2017 && version[1] >= 2)) //2017.2 and up { zClip = new SerializedShaderFloatValue(reader); } zTest = new SerializedShaderFloatValue(reader); zWrite = new SerializedShaderFloatValue(reader); culling = new SerializedShaderFloatValue(reader); if (version[0] >= 2020) //2020.1 and up { conservative = new SerializedShaderFloatValue(reader); } offsetFactor = new SerializedShaderFloatValue(reader); offsetUnits = new SerializedShaderFloatValue(reader); alphaToMask = new SerializedShaderFloatValue(reader); stencilOp = new SerializedStencilOp(reader); stencilOpFront = new SerializedStencilOp(reader); stencilOpBack = new SerializedStencilOp(reader); stencilReadMask = new SerializedShaderFloatValue(reader); stencilWriteMask = new SerializedShaderFloatValue(reader); stencilRef = new SerializedShaderFloatValue(reader); fogStart = new SerializedShaderFloatValue(reader); fogEnd = new SerializedShaderFloatValue(reader); fogDensity = new SerializedShaderFloatValue(reader); fogColor = new SerializedShaderVectorValue(reader); fogMode = (FogMode)reader.ReadInt32(); gpuProgramID = reader.ReadInt32(); m_Tags = new SerializedTagMap(reader); m_LOD = reader.ReadInt32(); lighting = reader.ReadBoolean(); reader.AlignStream(); }
private static string ConvertBlendFactor(SerializedShaderFloatValue factor) { switch (factor.val) { case 0f: return("Zero"); case 1f: default: return("One"); case 2f: return("DstColor"); case 3f: return("SrcColor"); case 4f: return("OneMinusDstColor"); case 5f: return("SrcAlpha"); case 6f: return("OneMinusSrcColor"); case 7f: return("DstAlpha"); case 8f: return("OneMinusDstAlpha"); case 9f: return("SrcAlphaSaturate"); case 10f: return("OneMinusSrcAlpha"); } }
private static string ConvertBlendOp(SerializedShaderFloatValue op) { switch (op.val) { case 0f: default: return("Add"); case 1f: return("Sub"); case 2f: return("RevSub"); case 3f: return("Min"); case 4f: return("Max"); case 5f: return("LogicalClear"); case 6f: return("LogicalSet"); case 7f: return("LogicalCopy"); case 8f: return("LogicalCopyInverted"); case 9f: return("LogicalNoop"); case 10f: return("LogicalInvert"); case 11f: return("LogicalAnd"); case 12f: return("LogicalNand"); case 13f: return("LogicalOr"); case 14f: return("LogicalNor"); case 15f: return("LogicalXor"); case 16f: return("LogicalEquiv"); case 17f: return("LogicalAndReverse"); case 18f: return("LogicalAndInverted"); case 19f: return("LogicalOrReverse"); case 20f: return("LogicalOrInverted"); } }