OpenGLES3.0创建和编译着色器相关语法
admin
2023-02-17 14:20:02
0

// 创建着色器,返回句柄

GLuint glCreateShader(GLenum type)

type:

GL_VERTEX_SHADER

GL_FRAGMENT_SHADER

// 删除着色器

void glDeleteShader(GLuint shader)

如果一个着色器已经连接到程序对象,那么不会立刻删除,而是先标记,等到没有任何连接时,再释放内存。


// 设置着色器源码

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

count 着色器源字符串的数量,着色器可以由多个源字符串组成,但是每个着色器只能有一个main函数

string 指向保存数量为count的着色器源字符串的数组指针

length 指向保存每个着色器字符串大小且元素数量为count的整数数组指针,可以为NULL


// 编译着色器

void glCompileShader(GLuint shader)


// 查询着色器信息

void glGetShaderiv(GLuint shader, GLenum pname, GLint *params)

pname:

GL_COMPILE_STATUS// 编译状态 返回GL_TRUE或GL_FALSE

GL_DELETE_STATUS// 删除状态 返回是否用glDeleteShader标记

GL_INFO_LOG_LENGTH// 日志长度

GL_SHADER_SOURCE_LENGTH// 源码长度

GL_SHADER_TYPE// 着色器类型,返回GL_VERTEX_SHADER或GL_FRAGMENT_SHADER

params 整数指针,用于返回结果


// 获取日志信息

void glGetShaderInfoLog(Gluint shader, Glsizei maxLength, Glsizei *length, Glchar *infoLog)

maxLength:需要获取的信息日志缓冲区长度

length:写入的信息日志长度 如果不知道长度,可以填NULL

infoLog 用于返回信息日志的缓冲区


相关内容

热门资讯

【第一消息】“丽水都莱有挂吗?... 您好:丽水都莱这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏...
终于了解“新蜜瓜拼十有挂吗?”... 有 亲,根据资深记者爆料新蜜瓜拼十是可以开挂的,确实有挂(咨询软件无需打...
玩家分享攻略“扎西茶楼究竟有挂... 有 亲,根据资深记者爆料扎西茶楼是可以开挂的,确实有挂(咨询软件无需打开...
今日重大通报“方片十三张辅助器... 您好:方片十三张这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游...
重磅消息“天天斗地主开挂神器?... 您好:天天斗地主这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游...
玩家分享攻略“微乐卡五星有没有... 有 亲,根据资深记者爆料微乐卡五星是可以开挂的,确实有挂(咨询软件无需打...
重磅消息“打哈儿麻将真的有挂吗... 您好:打哈儿麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游...
玩家分享攻略“同城游贵阳捉鸡麻... 家人们!今天小编来为大家解答同城游贵阳捉鸡麻将透视挂怎么安装这个问题咨询软件客服徽4282891的挂...
今日重大发现“新卡农牛牛真的有... 有 亲,根据资深记者爆料新卡农牛牛是可以开挂的,确实有挂(咨询软件无需打...
重磅消息“道游联盟牛牛有没有挂... 网上科普关于“道游联盟牛牛有没有挂”话题很是火热,小编也是针对道游联盟牛牛作*弊开挂的方法以及开挂对...