2011-12-27 13 views
9

私は現在webglで非フォトリアリスティックレンダリングを作成する方法を研究しています。これまでに私がエッジ検出のために見つけた最良のアルゴリズムは、OpenGLのジオメトリシェーダ、hereで実装されました。特にGL_TRIANGLES_ADJACENCY。WebGLジオメトリシェーダ相当?

私はWebGLに相当するものがあるのか​​、このコードをJavascriptに移植するのかと思っていました。

答えて

14

ジオメトリシェーダは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/

3

WebGLのは、現在唯一のピクセルシェーダと頂点シェーダシェーダをジオメトリないをサポートしています。

WebGLでhttps://acko.net/blog/yak-shading/のジオメトリシェーダをエミュレートする方法を示す興味深い記事とデモがあります。