我目前正在研究一种在webgl中产生非真实感渲染的方法。到目前为止我发现的用于边缘检测的最佳算法是使用OpenGL的几何着色器here实现的。特别是GL_TRIANGLES_ADJACENCY。
我想知道WebGL中是否存在等价物,或者我将如何将此代码移植到Javascript。
答案 0 :(得分:13)
WebGL中没有几何着色器。
然而,有很多方法可以进行边缘检测。例如。您可以使用基于图像空间的算法,例如
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.93.9731&rep=rep1&type=pdf
或者看看“实时渲染 - 第3版”(书)。在本书中有很多NPR的例子,其中大多数都可以在WebGL上运行。
答案 1 :(得分:4)
WebGL目前仅支持像素着色器和顶点着色器,而不支持几何着色器。
那说有一篇有趣的文章和演示,展示了如何在WebGL中模拟几何着色器:https://acko.net/blog/yak-shading/。