我发现很令人意外的是,如此难以找到sampler2d数组的示例,例如
uniform sampler2D myTextureSampler[5];
如何存储这个统一位置的信息?
gl.GetUniformLocation(program, "myTextureSampler")
有人会简单地使用:
gl.GetUniformLocation(program, "myTextureSampler[0]")
gl.GetUniformLocation(program2, "myTextureSampler[2]")
如何使用多个纹理?例如:
gl.BindTexture(gl.TEXTURE_2D, 1)
gl.BindTexture(gl.TEXTURE_2D, 2)
etc..
gl.ActiveTexture(gl.TEXTURE0)
gl.ActiveTexture(gl.TEXTURE1)
注意:这段代码并不是纯的C++ OpenGL。只是想了解基本概念上如何完成。 传递、获取sampler2d数组的uniform位置的简单示例将会很好。有经验的人能帮我吗?
sampler2D
这样的不透明类型使用统一数组的方式并没有改变。 - Nicol Bolas