public GLActiveUniformBlockInfo GetActiveUniformBlockInfo(int programId, int activeIndex) { int length; var queries = new ProgramProperty[] { ProgramProperty.BufferBinding, ProgramProperty.BufferDataSize, ProgramProperty.ReferencedByFragmentShader, ProgramProperty.ReferencedByVertexShader, ProgramProperty.ReferencedByGeometryShader, ProgramProperty.ReferencedByTessControlShader, ProgramProperty.ReferencedByTessEvaluationShader, }; var props = new int[queries.Length]; GL.GetProgramResource(programId, ProgramInterface.UniformBlock, activeIndex, queries.Length, queries, props.Length, out length, props); mErrHandler.CheckGLError(); int stageIndex = 2; MgShaderStageFlagBits stage = props[stageIndex] != 0 ? (MgShaderStageFlagBits.FRAGMENT_BIT) : 0; stageIndex += 1; stage |= props[stageIndex] != 0 ? (MgShaderStageFlagBits.VERTEX_BIT) : 0; stageIndex += 1; stage |= props[stageIndex] != 0 ? (MgShaderStageFlagBits.GEOMETRY_BIT) : 0; stageIndex += 1; stage |= props[stageIndex] != 0 ? (MgShaderStageFlagBits.TESSELLATION_CONTROL_BIT) : 0; stageIndex += 1; stage |= props[stageIndex] != 0 ? (MgShaderStageFlagBits.TESSELLATION_EVALUATION_BIT) : 0; return(new GLActiveUniformBlockInfo { BindingIndex = props[0], Stride = props[1], Stage = stage, }); }
public void GenRenderbuffer(out int id) { GL.Ext.GenRenderbuffers(1, out id); mErrHandler.CheckGLError(); }
public void GenRenderbuffer(out int renderbuffer) { GL.GenRenderbuffers(1, out renderbuffer); mErrHandler.CheckGLError(); }
public void AttachShaderToProgram(int programID, int shader) { GL.AttachShader(programID, shader); mErrHandler.CheckGLError(); }