Beispiel #1
0
        private static void SetRenderPass(FMAT mat, ShaderProgram shader, FSHP m, int id)
        {
            if (mat.shaderassign.ShaderArchive == "Turbo_UBER")
            {
                AglShaderTurbo aglShader = new AglShaderTurbo();

                foreach (var renderInfo in mat.renderinfo)
                {
                    aglShader.LoadRenderInfo(renderInfo);
                }

                aglShader.LoadRenderPass(mat, shader);
            }
        }
Beispiel #2
0
        private static void SetRenderPass(FMAT mat)
        {
            bool NoCull    = false;
            bool CullBack  = false;
            bool CullFront = false;

            for (int i = 0; i < mat.renderinfo.Count; i++)
            {
                if (mat.renderinfo[i].Name == "display_face")
                {
                    NoCull    = mat.renderinfo[i].ValueString.Contains("both");
                    CullFront = mat.renderinfo[i].ValueString.Contains("back");
                    CullBack  = mat.renderinfo[i].ValueString.Contains("front");
                }

                if (mat.shaderassign.ShaderArchive == "Turbo_UBER")
                {
                    AglShaderTurbo aglShader = new AglShaderTurbo();
                    aglShader.LoadRenderInfo(mat.renderinfo[i]);
                }
            }

            if (NoCull)
            {
                GL.Disable(EnableCap.CullFace);
            }
            else if (CullFront)
            {
                GL.Enable(EnableCap.CullFace);
                GL.CullFace(CullFaceMode.Front);
            }
            else if (CullBack)
            {
                GL.Enable(EnableCap.CullFace);
                GL.CullFace(CullFaceMode.Back);
            }
        }