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 用于返回信息日志的缓冲区


相关内容

热门资讯

美伊维持停火,国际油价回落 新华社纽约5月5日电(记者刘亚南) 由于美国与伊朗停火状态持续,国际原油期货价格5日早盘显著走低后窄...
“AI是否会取代人类工作” 诺... 过去一年,“AI是否会取代人类工作”的讨论持续升温,相关研究报告、行业预判和真实案例不断刷屏,让职场...
每经热评丨豆包收费标志着国产A... 来源:滚动播报 (来源:千龙网) 春节的AI(人工智能)红包大战硝烟尚未散尽,豆包App Store...
北斗导航、无人机“显身手” 春... 眼下,产粮大省黑龙江的春耕工作正有序进行,在位于黑龙江鹤岗的普阳农场,水稻插秧工作从今天起全面启动,...
强词夺理!“中国不应获得最先进... ► 文 观察者网 熊超然 一边想赚中国市场的钱,一边却又“提防”中国科技的崛起,英伟达创始人兼首席执...
苹果iOS 27将允许用户选择... IT之家 5 月 6 日消息,彭博社记者马克 · 古尔曼今日报道称,苹果计划在今年秋季发布的 iOS...
鲁比奥:我们改了措辞,中俄别再... 【文/观察者网 齐倩】当地时间5月5日,美国国务卿鲁比奥在白宫简报会上称,美国提出了新的联合国决议,...
“南鼠北调”为攻击蒋万安?蓝营... 海峡导报综合报道 台北、新北地区近期分别发生“汉坦病毒”死亡及确诊个案,使鼠患问题引发关注。“青鸟”...
巴拿马外长喊话访华团:尊重中国... 【文/观察者网 柳白】据香港英文媒体《南华早报》报道,数名巴拿马议员组成的代表团抵达中国访问之际,巴...
华帝燃气灶自动熄火什么原因 原因:热敏针出现故障,检查灶眼,看中间的火焰能不能烧到探针,烧到探针才能定住火,在点火的时候,长按几...