2013-05-22 46 views
1

我想在Apple的OpenGL Shader Builder中创建着色器,并且我需要纹理作为片段着色器的输入。Opengl Shader Builder:使用纹理作为片段着色器的输入

输入的定义如下:

uniform sampler2D texture; 

它似乎很明显,我可以以某种方式使用已经加载到OpenGL着色生成的纹理,但我无法弄清楚如何。

回答

2

在主窗口中,您应该看到三个选项卡:渲染,纹理和符号。 单击“纹理”选项卡,然后将图像文件拖放到第一个可用插槽中。每个插槽代表一个纹理单元,并且将始终按照您的制服顺序排列。

如果您没有设置任何纹理,结果将是黑屏。

+0

您还可以使用layout(binding = 0)sampler2D texture指定制服绑定的纹理单位,其中0是上述纹理单位的索引。 – fluffels

+1

@fluffels [布局限定符](http://www.opengl.org/wiki/Layout_Qualifier_(GLSL))似乎是答案,但只在OpenGL 4.2中可用(迄今为止OS X似乎只支持4.1):( –

+0

@Jaysen确实。 – fluffels

1

一旦你为纹理定义了一个统一的sampler2D符号,你可以去符号窗格,在那里你可以设置符号的纹理单元的数量(我认为第一个输入字段是一个,但不会伤害如果你填写所有三个)。

相关问题