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); } }
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); } }