OpenGL API - glUseProgram


在这里插入图片描述

https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glUseProgram.xhtml

OpenGL API - 笔记汇总

名称

glUseProgram ---- 安装一个程序对象作为当前渲染状态的一部分。

原型

void glUseProgram(GLuint program);

参数

program
指定带有可执行对象的程序对象句柄,用于当前渲染状态的一部分。

描述

glUseProgram 安装指定的 program 程序对象来作为当前渲染状态的一部分。使用 glAttachShader 来给创建的程序对象附加一个或多个 shader 对象,使用 glCompileShader 来编译 shader独享,使用 glLinkProgram 来链接程序对象。

如果 program 为0,则当前渲染状态是无效的程序对象,并且着色器执行是未确定的。然而,这还不是一个错误。

如果 program 没包含 GL_FRAGMENT_SHADER 类型的 shader 对象,那么 fragment shader 执行将会是为确定的。

错误

如果 program 不是0但也不是OpenGL 生成的,则生成 GL_INVALID_VALUE 错误。

如果 program 不是程序对象,则生成 GL_INVALID_OPERATION 错误。

如果 program 不是当前状态的一部分,则生成 GL_INVALID_OPERATION 错误。

如果 transform feedback 模式激活了,则生成 GL_INVALID_OPERATION 错误。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章