void CreateShaders() { vertexShaderHandle = GL.CreateShader(ShaderType.VertexShader); fragmentShaderHandle = GL.CreateShader(ShaderType.FragmentShader); GL.ShaderSource(vertexShaderHandle, vertexShaderSource); GL.ShaderSource(fragmentShaderHandle, fragmentShaderSource); GL.CompileShader(vertexShaderHandle); GL.CompileShader(fragmentShaderHandle); Console.WriteLine(GL.GetShaderInfoLog(vertexShaderHandle)); Console.WriteLine(GL.GetShaderInfoLog(fragmentShaderHandle)); shaderProgramHandle = GL.CreateProgram(); GL.AttachShader(shaderProgramHandle, vertexShaderHandle); GL.AttachShader(shaderProgramHandle, fragmentShaderHandle); for (int i = 0; i < attribs.Length; i++) { GL.BindAttribLocation(shaderProgramHandle, i, attribs[i]); } GL.LinkProgram(shaderProgramHandle); Console.WriteLine(GL.GetProgramInfoLog(shaderProgramHandle)); GL.UseProgram(shaderProgramHandle); uniformManager.addUniforms( new UniformMatrix4f("projectionMatrix", projectionMatrix), new UniformMatrix4f("modelviewMatrix", modelviewMatrix), transformMatrixUniform = new UniformMatrix4f("transform", transformMatrix), new Uniform3f("ambientColor", ambientColor), new Uniform3f("lightColor", lightColor), new Uniform3f("lightDirUnit", lightDirUnit), new Uniform1f("time", time), new Uniform1f("random", random), new Uniform1f("textureSamples", textureSampler) ); uniformManager.init(shaderProgramHandle); }
void CreateShaders() { vertexShaderHandle = GL.CreateShader( ShaderType.VertexShader ); fragmentShaderHandle = GL.CreateShader( ShaderType.FragmentShader ); GL.ShaderSource( vertexShaderHandle, vertexShaderSource ); GL.ShaderSource( fragmentShaderHandle, fragmentShaderSource ); GL.CompileShader( vertexShaderHandle ); GL.CompileShader( fragmentShaderHandle ); Console.WriteLine( GL.GetShaderInfoLog( vertexShaderHandle ) ); Console.WriteLine( GL.GetShaderInfoLog( fragmentShaderHandle ) ); shaderProgramHandle = GL.CreateProgram(); GL.AttachShader( shaderProgramHandle, vertexShaderHandle ); GL.AttachShader( shaderProgramHandle, fragmentShaderHandle ); for ( int i = 0; i < attribs.Length; i++ ) GL.BindAttribLocation( shaderProgramHandle, i, attribs[i] ); GL.LinkProgram( shaderProgramHandle ); Console.WriteLine( GL.GetProgramInfoLog( shaderProgramHandle ) ); GL.UseProgram( shaderProgramHandle ); uniformManager.addUniforms( new UniformMatrix4f( "projectionMatrix", projectionMatrix ), new UniformMatrix4f( "modelviewMatrix", modelviewMatrix ), transformMatrixUniform = new UniformMatrix4f( "transform", transformMatrix ), new Uniform3f( "ambientColor", ambientColor ), new Uniform3f( "lightColor", lightColor ), new Uniform3f( "lightDirUnit", lightDirUnit ), new Uniform1f( "time", time ), new Uniform1f( "random", random ), new Uniform1f( "textureSamples", textureSampler ) ); uniformManager.init( shaderProgramHandle ); }