【发布时间】:2012-12-01 15:38:46
【问题描述】:
我正在使用 GLSL 处理纹理。 如何使用 GLSL 处理两个纹理? 一个人推荐我在我的 GLSL 中做两个 samplers2D ...... 但是 GLSL 怎么知道应该使用哪个 samplers2D 呢? (我不是在谈论混合纹理......)
我听说我应该使用 glBindTexture。 我怎样才能做到这一点?使用 glBindTexture?谁有这方面的例子?
openGL 3.3
编辑:
我有这个:
uniform Sampler2D texture1;
uniform Sampler2D texture2;
我需要绘制两个对象,使用纹理,那么GLSL如何知道他应该根据我要绘制的对象使用texture1还是texture2。这是我的问题。
【问题讨论】:
-
@NicolBolas 你知道他们为什么在这些例子中使用
GL_TEXTURE0 + x而不是GL_TEXTURE0、GL_TEXTURE2等吗? -
@user1118321 因为
GL_TEXTURE#最多只能达到 31,而 actual 限制可能要高得多。您应该始终使用GL_TEXTURE0 + x。 -
我现在很困惑,请告诉我,我不需要混合纹理,我需要将这些纹理用于不同的对象。金字塔的纹理#1,盒子的纹理#2,等等……我可以绑定它,人们怎么说我!那个 opengl wiki 有很大帮助,但它没有显示 frag/vert 着色器代码....
-
@Spamdark:这是一个完全不同的问题。那只是用一种纹理渲染一个对象,然后用不同的纹理渲染另一个对象。如果你可以用一个纹理渲染一个对象,那么你可以用两个来渲染。