При выборке 2D-текстуры в GLSL (a uniform sampler2D
) используется функция texture
и измерение выводится из сэмплера (в данном случае 2D). Это современный способ отбора текстуры в GLSL с 1.30 (GLSL Reference Pages). Однако вы также можете использовать функцию texture2D
.Текстура против текстуры2D в GLSL
Является ли функция texture2D
устаревшей, и если да, будет ли поддерживаться функция texture2D
, которая будет удалена (или была удалена) в некоторой версии GLSL?
В исходном вопросе не было упоминания о OpenGL ES, поэтому я предположил, что мы говорили о ванильном GL. Если для GL ES ответ отличается, это, безусловно, стоит упомянуть; Я обновлю свой ответ (если кто-то еще не хочет перезвонить). – postgoodism
@Jessy Учитывая, что в вопросе не упоминалось никаких ES (у которого даже нет устаревания, не говоря уже о GLSL 1.30 или о функции «текстуры» как **, упомянутой явно в вопросе **), ваш комментарий doesn ' t действительно имеет смысл. Факт (или это все равно?), Что большинство людей использует OpenGL ES, не волшебным образом делает этот совершенно правильный ответ бессмысленным. Потому что вы ожидаете, что ответ вне темы (по каким-либо причинам) не сделает ответ на тему не по теме. –
Итак, ответ на это использует «texture()», если на OpenGL и «texture2D()», если на OpenGL ES? Я бы предпочел, чтобы была одна функция. – Zebrafish