protected override void CreateShaderInternal(Shader shader) { Constants.GLShaderType underlyingType = Constants.GLShaderType.Vertex; switch (shader.ShaderType) { case ShaderType.Vertex: { underlyingType = Constants.GLShaderType.Vertex; break; } case ShaderType.Fragment: { underlyingType = Constants.GLShaderType.Fragment; break; } case ShaderType.Compute: { underlyingType = Constants.GLShaderType.Compute; break; } } uint id = Internal.OpenGL.Methods.glCreateShader(underlyingType); Internal.OpenGL.Methods.glErrorToException(); _ShaderHandles[shader] = id; _HandleShaders[id] = shader; }
public static extern uint glCreateShader(Constants.GLShaderType type);