public OpenGLBaseShaderManager(OpenGLBaseStateChangeWrapper glStateChanger, ShaderVersion shaderVersion) { d_glStateChanger = glStateChanger; d_shaderVersion = shaderVersion; d_shadersInitialised = false; }
/// <summary> /// Creates and loads shader programs from the two strings supplied to it /// </summary> /// <param name="vertex_shader_source"></param> /// <param name="fragment_shader_source"></param> /// <param name="glStateChanger"></param> public OpenGLBaseShader(string vertex_shader_source, string fragment_shader_source, OpenGLBaseStateChangeWrapper glStateChanger) { d_glStateChanger = glStateChanger; d_createdSuccessfully = false; d_vertexShader = 0; d_fragmentShader = 0; d_geometryShader = 0; d_program = 0; // Compile the shaders d_vertexShader = Compile(OpenGL.ShaderType.VertexShader, vertex_shader_source); if (d_vertexShader == 0) { return; } OpenGLRendererBase.CheckGLErrors(); if (!string.IsNullOrWhiteSpace(fragment_shader_source)) { d_fragmentShader = Compile(OpenGL.ShaderType.FragmentShader, fragment_shader_source); if (d_fragmentShader == 0) { return; } } OpenGLRendererBase.CheckGLErrors(); d_program = OpenGL.GL.CreateProgram(); }
public OpenGLBaseShaderWrapper(OpenGLBaseShader shader, OpenGLBaseStateChangeWrapper stateChangeWrapper) { d_shader = shader; d_glStateChangeWrapper = stateChangeWrapper; }