Страницы

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

среда, 15 апреля 2020 г.

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

#opengl

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


Ответы

Ответ 1



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

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

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