public string CreateDepthInfo(bool outlineZWrite, bool outlineZTest)
        {
            string result = string.Empty;

            if (m_zWriteMode.IntValue != 0 || m_zWriteMode.Active)
            {
                MasterNode.AddRenderState(ref result, "ZWrite", m_zWriteMode.GetValueOrProperty(ZWriteModeValues[m_zWriteMode.IntValue]));
            }
            else if (outlineZWrite)
            {
                MasterNode.AddRenderState(ref result, "ZWrite", ZWriteModeValues[1]);
            }

            if (m_zTestMode.IntValue != 0 || m_zTestMode.Active)
            {
                MasterNode.AddRenderState(ref result, "ZTest", m_zTestMode.GetValueOrProperty(ZTestModeValues[m_zTestMode.IntValue]));
            }
            else if (outlineZTest)
            {
                MasterNode.AddRenderState(ref result, "ZTest", ZTestModeValues[3]);
            }

            if (m_offsetEnabled)
            {
                MasterNode.AddRenderState(ref result, "Offset ", m_offsetFactor.GetValueOrProperty() + " , " + m_offsetUnits.GetValueOrProperty());
            }

            return(result);
        }
Esempio n. 2
0
        public string CreateDepthInfo(bool outlineZWrite, bool outlineZTest)
        {
            string result = string.Empty;

            if (m_zWriteMode != 0)
            {
                MasterNode.AddRenderState(ref result, "ZWrite", ZWriteModeValues[m_zWriteMode]);
            }
            else if (outlineZWrite)
            {
                MasterNode.AddRenderState(ref result, "ZWrite", ZWriteModeValues[1]);
            }

            if (m_zTestMode != 0)
            {
                MasterNode.AddRenderState(ref result, "ZTest", ZTestModeValues[m_zTestMode]);
            }
            else if (outlineZTest)
            {
                MasterNode.AddRenderState(ref result, "ZTest", ZTestModeValues[3]);
            }

            if (m_offsetEnabled)
            {
                MasterNode.AddRenderState(ref result, "Offset ", m_offsetFactor + " , " + m_offsetUnits);
            }

            return(result);
        }
        public void BuildColorMask(ref string ShaderBody, bool customBlendAvailable)
        {
            int    count     = 0;
            string colorMask = string.Empty;

            for (int i = 0; i < m_colorMask.Length; i++)
            {
                if (m_colorMask[i])
                {
                    count++;
                    colorMask += m_colorMaskChar[i];
                }
            }

            if ((count != m_colorMask.Length && customBlendAvailable) || m_inlineMask.Active)
            {
                MasterNode.AddRenderState(ref ShaderBody, "ColorMask", m_inlineMask.GetValueOrProperty(((count == 0) ? "0" : colorMask)));
            }
        }