GLES3.0中文API-glShaderSource

glShaderSource 函数用于替换着色器对象中的源代码,支持预编译的着色器二进制文件作为替代。在使用此函数前,需要检查 GL_SHADER_COMPILER 参数以确保着色器编译器被支持,否则会引发 GL_INVALID_OPERATION 错误。如果 shader 参数无效或不是着色器对象,也会导致错误。glShaderSource 会复制源代码,允许应用在函数返回后释放源字符串。

名称

glShaderSource - 替换着色器对象中的源代码

C规范

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

参数

shader

要被替换源代码的着色器对象的句柄(ID)。

count

指定字符串和长度数组中的元素数。

string

指定指向包含要加载到着色器的源代码的字符串的指针数组。

length

指定字符串长度的数组。

描述

对于支持着色器编译器的实现,glShaderSource将着色器中的源代码设置为string指定的字符串数组中的源代码。先前存储在着色器对象中的任何源代码都将被完全替换。数组中的字符串数由count指定。 如果length为NULL,则认为每个字符串都以null结尾。如果length不是NULL,则它指向包含字符串的每个相应元素的字符串长度的数组。length数组中的每个元素可以包含相应字符串的长度(空字符不计为字符串长度的一部分)或小于0的值以表示该字符串为空终止。此时不扫描或解析源代码字符串; 它们只是复制到指定的着色器对象中。

注意

着色器编译器支持是可选的,因此必须在使用之前通过使用参数GL_SHADER_COMPILER调用glGet来查询。glShaderSource,glCompileShader,glGetShaderPrecisionFormat,glReleaseShaderCompiler等在不支持着色器编译器的实现上都将生成GL_INVALID_OP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值