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;
        }
Beispiel #2
0
 public static extern uint glCreateShader(Constants.GLShaderType type);