Геометрический шейдер WebGL Эквивалент? - PullRequest
9 голосов
/ 27 декабря 2011

В настоящее время я изучаю способ создания нефотореалистичного рендеринга в webgl.Наилучший алгоритм, который я нашел на данный момент для обнаружения краев, был реализован с помощью геометрического шейдера OpenGL, здесь .В частности, GL_TRIANGLES_ADJACENCY.

Мне было интересно, есть ли эквивалент в WebGL или даже как бы я перенес этот код в Javascript.

Ответы [ 2 ]

13 голосов
/ 27 декабря 2011

Геометрические шейдеры недоступны в WebGL.

Однако существует множество способов обнаружения краев. Например. Вы можете использовать алгоритмы на основе пространства изображений, такие как

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.93.9731&rep=rep1&type=pdf

Или посмотрите книгу «Рендеринг в реальном времени - 3-е издание» (книга). В этой книге приведено много примеров NPR, большинство из которых будет нормально работать на WebGL.

http://www.realtimerendering.com/

4 голосов
/ 09 октября 2016

WebGL в настоящее время поддерживает только пиксельные и вершинные шейдеры, а не геометрические шейдеры.

Тем не менее, есть интересная статья и демонстрация, показывающая, как эмулировать геометрические шейдеры в WebGL: https://acko.net/blog/yak-shading/.

...