GLSL textureCube и Texture2D в одном шейдере

#opengl #glsl #shader #texture2d #texturing

#opengl #glsl #шейдер #texture2d #текстурирование

Вопрос:

Кажется, я не могу иметь оба texture2D() и textureCube() в одном шейдере. Когда я это делаю, ничего не отображается и ошибки нет. Я пробовал это как с моим собственным загрузчиком шейдеров, так и с Apple GLSL shader builder, и происходит то же самое. Это происходит, даже если у меня есть textureCube() в вершинном шейдере и texture2D() во фрагменте. Кажется, что они отлично работают сами по себе, но как только они вызываются вместе, независимо от того, в каком порядке, ничего не отображается.

Ответ №1:

Вам нужно привязать обе текстуры как униформы в обоих шейдерах и назначить два разных текстурных блока, каждый с одной из текстур, униформам сэмплера.