iPhone openGL ES 2.0 текстурирование - настройка нескольких текстур для фрагментного шейдера - PullRequest
1 голос
/ 23 сентября 2011

Я нервничаю, чтобы спросить это, потому что я видел несколько постов, намекающих на ответ, но ни один не помог мне.Извиняюсь, если это повторяется.

Я пытаюсь получить доступ к более чем одной текстуре (2 на данный момент) в моем фрагментном шейдере на iPhone 4 (OS 4.3).Мой код правильно настраивает первую текстуру, и шейдер может читать и использовать ее на моей модели.Однако, когда я пытаюсь добавить вторую текстуру, она перезаписывает первую, а не дает мне две текстуры.

Есть ли хорошее руководство по передаче нескольких текстур в пиксельный шейдер в ES2.0 для iphone?Я думаю, что неправильно перезаписываю тот же слот текстуры или что-то в этом роде.

Мой код грязный и длинный.Многое из этого модифицированные онлайн-образцы.Уберусь позже.Спасибо!

ссылка: Мои выдержки из кода, относящиеся к загрузке текстур и использованию шейдеров

1 Ответ

2 голосов
/ 20 января 2012

Это просто.Поменяйте местами «// Привязать к текстурам» и «// Получить одинаковые места».блоки и это должно работать.Проблема в том, что вы устанавливаете значения некоторых униформ, не зная их местоположения (которое вы получите сразу же после следующего шага).

Таким образом, эффект, который происходит, не "перезаписывается одна текстура", аоба сэмплера содержат (по умолчанию) 0, поэтому оба читают одну и ту же текстуру.

Надеюсь, это поможет.

...