2011-12-27 14 views
9

Actualmente estoy investigando una forma de producir representaciones no fotorrealistas en webgl. El mejor algoritmo que he encontrado hasta ahora para la detección de bordes se implementó con el sombreador de geometría de OpenGL, here. Específicamente GL_TRIANGLES_ADJACENCY.WebGL Geometry Shader Equivalente?

Me preguntaba si había un equivalente en WebGL o incluso cómo iba a portar este código a Javascript.

Respuesta

14

Sombreadores de geometría no está disponible en WebGL.

Sin embargo, hay muchas maneras de hacer la detección de bordes. P.ej. puede utilizar algoritmos basados ​​en el espacio de la imagen, tales como

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

O echar un vistazo en "Representación en tiempo real - 3ª edición" (libro). En este libro hay muchos ejemplos de NPR, de los cuales la mayoría funcionará bien en WebGL.

http://www.realtimerendering.com/

3

WebGL sólo soporta actualmente sombreadores de píxeles y vértices shaders no la geometría shaders.

Dicho esto, hay un artículo interesante y una demostración que muestra cómo emular los sombreadores de geometría en WebGL en: https://acko.net/blog/yak-shading/.