openGL之API学习(八十二)glShaderSource

glShaderSource函数用于替换OpenGL着色器对象的源代码,旧代码会被完全替换,新代码需要重新编译和链接以生成可执行文件。参数包括着色器ID、字符串数量、源代码指针数组和字符串长度数组。如果长度数组为空,假设每个字符串都有结束符。
摘要由CSDN通过智能技术生成

替换着色器中的代码,任何以前的代码都会被完全替换掉,一次可以上传多段代码进行替换,并不进行代码的扫描和解析

替换完后是否需要重新进行编译和链接呢?????(因为着色器代码需要编译、连接,最后生成可执行文件才能被CPU/GPU调度执行,所以替换完后还是需要重新进行编译和链接)

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

shader

    Specifies the handle of the shader object whose source code is to be replaced.

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

    Specifies the number of elements in the string and length arrays.

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

    Specifies an array of pointers to strings containing the source code to be loaded into the shader.

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

    Specifies an array of string lengths.

指定字符串长度的数组,如果为空,则每一个字符串都是有结尾的,将整个字符串进行拷贝替换。

const GLchar* sourceText[3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值