public GLProgramHandle CreateProgram() { var program = MacGL.CreateProgram(); AddContextObject(new ProgramDisposable(program)); return(new GLProgramHandle(program)); }
protected ShaderProgram(string shaderName, PrimitiveType renderType) { this.renderType = renderType; var file = "SharpCraft_Data/assets/shaders/" + shaderName; VertexShaderID = loadShader(ShaderType.VertexShader, file); FragmentShaderID = loadShader(ShaderType.FragmentShader, file); Console.WriteLine($"DEBUG: '{shaderName}' vertex shader: {(VertexShaderID != -1 ? "OK" : "ERROR")}"); Console.WriteLine($"DEBUG: '{shaderName}' fragment shader: {(FragmentShaderID != -1 ? "OK" : "ERROR")}"); ProgramID = GL.CreateProgram(); GL.AttachShader(ProgramID, VertexShaderID); GL.AttachShader(ProgramID, FragmentShaderID); bindAttributes(); GL.LinkProgram(ProgramID); GL.ValidateProgram(ProgramID); getAllUniformLocations(); ShaderManager.registerShader(this); }
public GLProgramHandle CreateProgram() { int programName = GL.CreateProgram(); AddContextObject(new ProgramDisposable(programName)); return((GLProgramHandle)programName); }
public static int CreateProgram(int vertexShaderHandle, int fragmentShaderHandle) { int shaderProgramHandle = GL.CreateProgram(); GL.AttachShader(shaderProgramHandle, vertexShaderHandle); GL.AttachShader(shaderProgramHandle, fragmentShaderHandle); GL.LinkProgram(shaderProgramHandle); Console.WriteLine(GL.GetProgramInfoLog(shaderProgramHandle)); return(shaderProgramHandle); }