Почему Texture1d () в GLSL возвращает VEC4?
-
29-09-2019 - |
Вопрос
Я пытаюсь использовать 1D -массив в качестве таблицы поиска в своем вершинном шейдере .. Так почему же, когда я звоню
texture1D(tex,gl_TexCoord[0].s);
Это возвращает VEC4? Я имею в виду, что я знаю, что это делает, но что представляют 4 значения? Все, что я хочу, это единственное значение из текстуры, основанной на координате.
Решение
Потому что текстура1d может/имеет значения RGBA (красный, зеленый, синий, альфа). Если вы храните данные 1D текстуры в красном канале (GL_RED), вы можете получить доступ к этим данным:
texture1D(tex,gl_TexCoord[0].s)
.r
;
Не связан с StackOverflow