WebGL几何着色器的等效物是什么?

11

我目前正在研究在WebGL中生成非逼真渲染的方法。到目前为止,我发现最好的边缘检测算法是使用OpenGL的几何着色器实现的,链接在这里,具体来说是GL_TRIANGLES_ADJACENCY。

我想知道在WebGL中是否有相当的功能,或者如何将该代码移植到Javascript中。

2个回答

13

在WebGL中无法使用几何着色器。

然而,有很多方法可以进行边缘检测。例如,您可以使用基于图像空间的算法,比如

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

或者看一下《实时渲染-第三版》(书)。这本书中有很多非真实感渲染的例子,其中大部分在WebGL上运行良好。

http://www.realtimerendering.com/

更新于2023年11月4日:
使用WebGL2,如果您事先知道要生成的顶点数量,您可以使用以下技术:

https://webgl2fundamentals.org/webgl/lessons/webgl-drawing-without-data.html

这个网站致力于展示这方面的例子:

https://www.vertexshaderart.com


7

WebGL目前仅支持像素着色器和顶点着色器,不支持几何着色器。

尽管如此,有一篇有趣的文章和演示,展示了如何在WebGL中模拟几何着色器,网址为:https://acko.net/blog/yak-shading/


我知道现在这个评论已经过去了多年,但是有人有这方面的例子吗?或者更好的是,有人用这种技术实现了上面提到的内容,我可以参考一下吗? - yosmo78
@yosmo78 添加了示例^ - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接