Squeak.ru - шаблоны программирования

OpenGL / Cocos2d-x В чем разница между v_texCoord и gl_FragCoord в шейдере?

Я видел код шейдера, использующий эти два. Но я не понимаю, какая между ними разница, между текстурой и фрагментом.

Насколько я знаю, фрагмент - это пиксели, так что же такое текстура?

Некоторые используют этот код:

vec2 uv = gl_FragCoord.xy / rectSize.xy;
vec4 bkg_color = texture2D(CC_Texture0, uv);

некоторые используют:

vec4 bkg_color = texture2D(CC_Texture0, v_texCoord);

с v_texCoord = a_texCoord; Оба работают, за исключением того, что первый способ отображает перевернутое изображение.

12.05.2017

Ответы:


1

Во втором примере «v_texCoord» выглядит как предварительно вычисленная координата текстуры, которая передается в шейдер фрагментов в качестве атрибута вершины, в отличие от координаты «uv», рассчитанной в шейдере фрагментов в первом примере.

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

Возможно, здесь есть такая разница в сценариях использования, поэтому они дают разные визуальные результаты.

Для получения дополнительной информации о том, как работают координаты текстуры, я рекомендую ответ на этот вопрос: Как работают координаты текстуры opengl ?

12.05.2017
Новые материалы

Угловая структура архитектуры
Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

«Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

Создайте API с помощью Python FastAPI
Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

Веселье с прокси-сервером JavaScript
Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...