OpenGL ES Shader相关API 总结【3】——绑定shader

举报
ShaderJoy 发表于 2021/12/30 02:09:56 2021/12/30
【摘要】 绑定Shader 1. GLuint glCreateShader(GLenum shaderType) 功能:创建一个指定类型的shader对象 输入:shader类型 输出:一个该类型的shader对象 2. void glShaderSource(GLuint shader, GLsizei, co...


绑定Shader

1.

GLuint glCreateShader(GLenum shaderType)
 

功能:创建一个指定类型的shader对象

输入:shader类型

输出:一个该类型的shader对象

2.

void glShaderSource(GLuint shader, GLsizei, count, const GLchar* const* string, const GLint* length)
 

功能:更新指定shader对象的源代码

输入:指定shader对象的ID,使用几组字符串对该shader对象进行赋值,字符串数组以及用于存放每个字符串包含字节长度的数组

3.

void glCompleShader(GLuint shader)
 

功能:对指定shader对象进行编译

输入:指定shader对象的ID

4.

void glShaderBinary(GLsizei n, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
 

功能;将预先编译好的shader存入一组shader对象中

输入:一组shader的数量以及shader的指针,预先编译好的shader格式,编译好的shader二进制的位置和长度

5.

GLuint glCreateProgram(void)
 

功能:创建一个program,用于把一组shader绑定在一起

输出:一个program对象

6.

void glAttachShader(GLuint program, GLuint shader)
 

功能:将一个指定的shader,绑定到一个指定的program上

输入:指定program的ID,以及指定shader的ID


7.

void glDetachShader(GLuint program, GLuint shader)
 

功能:将一个指定的shader,从指定的program上解绑

输入:指定program的ID,以及指定shader的ID


8.

void glLinkProgram(GLuint program)
 

功能:将指定的program做链接操作,也就是将Program上绑定的shader互相链接起来

输入:指定Programe的ID


9.

void glUseProgram(GLuint program);
 

功能:将指定program将被GPU使用,也就是说:如果OpenGL ES的其他API以及GPU对Program进行操作,那么操作就是这个program

输入:指定program的ID


10. 

void glDeleteProgram(GLuint program);
 

功能:删除一个指定的Program

输入:指定program的ID


11. 

void glDeleteShader(GLuint shader)
 

功能:删除一个指定的shader

输入:指定shader的ID


12.

void glReleaseShaderCompiler(void)
 

功能:删除Shader编译器相关的资源



文章来源: panda1234lee.blog.csdn.net,作者:panda1234lee,版权归原作者所有,如需转载,请联系作者。

原文链接:panda1234lee.blog.csdn.net/article/details/51373962

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。