名称
glCreateShader - 创建一个着色器对象
C规范
GLuint glCreateShader(GLenum shaderType);
参数
shaderType
指定要创建的着色器的类型。 只能是GL_VERTEX_SHADER或GL_FRAGMENT_SHADER。
描述
glCreateShader创建一个空的着色器对象,并返回一个可以引用的非零值(shader ID)。着色器对象用于维护定义着色器的源代码字符串。shaderType指示要创建的着色器的类型。 支持两种类型的着色器。 GL_VERTEX_SHADER类型的着色器是一个用于在可编程顶点处理器上运行的着色器。 GL_FRAGMENT_SHADER类型的着色器是一个着色器,旨在在可编程片段处理器上运行。
创建时,着色器对象的GL_SHADER_TYPE参数设置为GL_VERTEX_SHADER或GL_FRAGMENT_SHADER,具体取决于shaderType的值。
注意
与纹理对象一样,着色器对象的名称空间可以在一组上下文中共享,只要上下文的服务器端共享相同的地址空间即可。 如果名称空间跨上下文共享,则也会共享任何附加对象和与这些附加对象关联的数据。
当从不同的执行线程访问对象时,应用程序需要负责跨API调用提供同步。
错误
如果创建着色器对象时发生错误,则此函数返回0。
GL_INVALID_ENUM:shaderType不是一个可接受的值。