OpenGL - Как сравнить значения пикселей из отдельных текстур с одинаковым расположением - PullRequest
1 голос
/ 08 марта 2010

Мне было интересно, как лучше всего сравнить пиксель, который в настоящее время рендерится (и доступен с помощью фрагментного шейдера) в пиксель с тем же местоположением в ранее сохраненной несвязанной текстуре (оба текстуры одного размера)?

1 Ответ

1 голос
/ 09 марта 2010

Теперь, когда вопрос более понятен, можно дать ответ.

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

Вы должны визуализировать модель в текстуре (выполнить поиск в текстуре, используя объекты кадрового буфера), а затем запустить фрагментный шейдер (возможно, используя GL_texture_rectangle) в другом представлении с окном просмотра того же размера текстуры .

Фрагментный шейдер должен иметь в качестве входных данных две текстуры: первую текстуру (содержащую обнаруженные ребра) и модель каркаса с текстурой. Затем можно легко выполнить сложные вычисления в фрагментном шейдере, как только вы получите доступ к каждому тексту обеих текстур.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...