Страницы

Поиск по вопросам

суббота, 6 июля 2019 г.

Как работает функция вершинного шейдера OpenGL gl_ClipDistance?

Есть какая-либо информация на этот счёт или простой пример? Мне показалась, эта функция довольно интересной, но возникли трудности в её реализации.


Ответ

gl_ClipDistance - это не функция, а одна из частей input'a или output'a вершинного или геометрического шейдера.
Если в соответствующем шейдере задать этот параметр, то можно производить клиппинг произвольных вершин на основании расстояния до соответствующих плоскостей.
Пример использования в геометрическом шейдере можно найти здесь.

В этом аспекте не очень понятна фраза про трудности с ее реализацией, хотя, я конечно могу допустить, что вы занимаетесь какой-нибудь задачей типа, например, портирования компилятора GLSL на мобильные девайсы.
В таком случае имеет смысл глянуть, например, на библиотеку Mesa3d и посмотреть как соответствующие вещи реализованы там, благо opensource.

Комментариев нет:

Отправить комментарий