0

是否有任何使用 WebGL 的方案允许将一条数据记录处理为以前未知数量的记录?

以 OpenGL 为例,几何程序可用于根据属性对顶点进行乘法运算,从而输出未知长度的数据。

以同样的方式使用 WebGL 是否有任何技巧,或者这只能在 JavaScript 端实现?

4

1 回答 1

0

是的,WebGL 中没有几何着色器(只有顶点和片段)。

所以,是的,需要在 JS 端实现一些乘法,通过对 gl.drawTriangles/gl.drawElements 进行更多数据或更多调用。

一种可能适用的方法是拥有大量数据(例如三角形),并使用片段着色器通过算法丢弃部分或全部数据。与乘法相反。但是,如果您保留相同的三角形,并使用制服或纹理中的较小数据更改它们的处理,您至少可以节省发送大量不同数据的打击。

要“丢弃”一个顶点,需要将它放在 NDC(-1 到 +1 单位立方体)之外,用于三角形的所有三个顶点。

于 2013-11-16T02:45:45.020 回答