private 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); }
protected void LoadShader(string filename, ShaderType type, int program, out int address) { if (!File.Exists(filename)) { Console.WriteLine($"File not found: {filename}"); address = -1; return; } address = GL.CreateShader(type); using (var sr = new StreamReader(filename)) { GL.ShaderSource(address, sr.ReadToEnd()); } GL.CompileShader(address); GL.AttachShader(program, address); Console.WriteLine(GL.GetShaderInfoLog(address)); }