2011-12-27 18 views
9

Attualmente sto ricercando un modo per produrre rendering non fotorealistici in webgl. L'algoritmo più bello che ho trovato finora per il rilevamento dei bordi è stato implementato con lo shader della geometria di OpenGL, here. Specificamente GL_TRIANGLES_ADJACENCY.Equivalente di Shader Geometria WebGL?

Mi chiedevo se ci fosse un equivalente in WebGL o anche come avrei fatto a trasferire questo codice su Javascript.

risposta

14

Gli shader geometrici non sono disponibili in WebGL.

Tuttavia, vi sono molti modi per eseguire il rilevamento dei bordi. Per esempio. è possibile utilizzare algoritmi basati spazio dell'immagine, come ad esempio

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

Oppure date un'occhiata a "rendering in tempo reale - 3 ° edizione" (libro). In questo libro ci sono molti esempi di NPR, di cui la maggior parte funzionerà bene su WebGL.

http://www.realtimerendering.com/

3

WebGL attualmente supporta solo pixel shader e vertex shader non Geometry Shader.

Detto questo, c'è un articolo interessante e una demo che mostra come emulare gli shader geometrici in WebGL a: https://acko.net/blog/yak-shading/.

Problemi correlati