Есть ли у RenderMonkey ошибка в отображении потока TEXCOORD для GLSL?

Для ясности я начну с моего вопроса:

Это можно использовать (в коде шейдера)имя настраиваемого атрибута , которое я установил для использования TEXCOORD в отображении потока (OpenGL) в RenderMonkey 1.82, или мне нужно использовать gl_MultiTexCoord0? (Вопрос может быть действителен и для НОРМАЛЬНОГО использования , т.е. для пользовательского имени или gl_Normal )

Предпосылки:

Использование RenderMonkey версии 1.82. Я успешно использовал отображение потока для сопоставления общего атрибута вершины "позиция" (и, возможно, "нормальный"), но координаты текстуры, похоже, не передаются правильно. Для кода шейдера я использую #version 330 и квалификатор in в GLSL, что должно быть в порядке, поскольку RM не компилирует шейдеры сам (это делает драйвер OpenGL).

Я пробовал и .obj, и .3ds. файлы (экспортированные из блендера), и при проверке волнового фронта .obj-файла там вся информация о координатах текстуры, а также положения вершин и нормали.

Если это невозможно, отображение потока нарушается и есть нет смысла называть переменные в редакторе отображения потока (кроме потока положения вершины, который работает), так как в любом случае нужно использовать встроенные переменные.

Обновление: Если используются устаревшие встроенные переменные, необходимо использовать режим совместимости в шейдере, например

#version 330 compatibility
out vec2 vTexCoord;

и в основной функции:

vTexCoord = vec2(gl_MultiTexCoord0);

(Теперь я тоже не уверен насчет потокового отображения нормалей. Как только Я получил координаты текстуры, у меня были нормальные проблемы, и мне пришлось вернуться к gl_Normal.)

Вот изображение рабочего решения, но со встроенными переменными (и да, прокомментированная переменная texcoord на картинке не работает имеют то же имя, что и в диалоговом окне сопоставления потоков, но у него было то же имя, когда я пытался его использовать, так что все в порядке.): Stream mapping bypassed with built in variables

10
задан Deorbit 26 July 2011 в 12:35
поделиться