我想离开OpenGL的灯,自己做。我希望我的着色器允许可变数量的灯光。
我们可以在GLSL着色器中声明统一数组吗?如果是这样,我们将如何设置这些制服的值? 问题来源于stack overflow
是的,这是可能的。您声明与C中类似的统一数组,例如
uniform float v[10]; 然后您可以使用 glUniform{1,2,3,4}{f,i}v
GLfloat v[10] = {...}; glUniform1fv(glGetUniformLocation(program, "v"), 10, v);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。