private void LoadShaders() { VertexShader = new Shaders.Shader(); FragmentShader = new Shaders.Shader(); spMain = new Shaders.ShaderProgram(); if (!VertexShader.LoadShaderS(Kocka.Properties.Resources.textShaderVert, ShaderType.VertexShader)) System.Windows.Forms.MessageBox.Show("Nepodarilo sa nacitat vertex sahder (font rendering)!"); if (!FragmentShader.LoadShaderS(Kocka.Properties.Resources.textShaderFrag, ShaderType.FragmentShader)) System.Windows.Forms.MessageBox.Show("Nepodarilo sa nacitat fragment sahder (font rendering)!"); spMain.CreateProgram(); spMain.AddShaderToProgram(VertexShader); spMain.AddShaderToProgram(FragmentShader); spMain.LinkProgram(); //teraz mozem detachnut shadere a znicit ich VertexShader.DetachShader(spMain.GetProgramHandle()); FragmentShader.DetachShader(spMain.GetProgramHandle()); VertexShader.DeleteShader(); FragmentShader.DeleteShader(); // //toto staci raz, pozicia sa nebude menit spMain.UseProgram(); spMain.SetUniform("gSampler", 0); spMain.SetUniform("projectionMatrix", projectionMatrix); spMain.SetUniform("modelViewMatrix", modelViewMatrix); spMain.UseProgram(0); }