我发现它令人惊讶的令人沮丧的,它是如此难以找到sampler2d阵列如OpenGL多个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)
等。
gl.ActiveTexture(gl.TEXTURE0)
gl.ActiveTexture(gl.TEXTURE1)
等。
注意:这个代码是不是纯C++的OpenGL。只是寻找关于如何完成的基本概念。
传递一个简单的例子,获得一个sampler2d数组的统一位置会很好。有没有人有这方面的经验?
明显的答案有什么问题? GL侧的[统一数组工作]方式(https://www.opengl.org/wiki/Uniform_(GLSL)#Uniform_management)不会因为使用像'sampler2D'这样的不透明类型而改变。 –
以上都不是答案。他们只是猜测我认为它会起作用的方式。目前,我没有太多的成功让它工作。看起来像一个简单的方法来获得简单的堆栈溢出点,并帮助了很多人:) – efel