WebGL:确定每个绘制调用的最大数量 gl.POINTS
WebGL: Determining maximum number of gl.POINTS per draw call
我正在处理一个场景,我想在每个绘图调用中挤入尽可能多的 gl.POINTS
。我想我记得听说大多数设备每次绘制调用只允许一个绘制 2**16 个顶点,但我已经能够在我的本地计算机上每次绘制调用绘制 ~250,000 个点!
检查了 MDN's list of gl parameters 并查询了许多这些值后,我仍然不确定:如何确定单个绘制调用中可以包含的最大 gl.POINTS
数?当使用其他几何图元(例如三角形带)时,此值是否与每次绘制调用可以包含的最大顶点数有某种不同?其他人可以就此问题提供的任何见解将不胜感激!
限制仅在索引中 (gl.drawElements
)。默认情况下,索引只能是 16 位值(0 到 65535)。普通缓冲区没有限制 (gl.drawArrays
)。好吧,"no limit" 仍然意味着内存、32 位值和时间有限制。
对于 gl.drawElements
,您可以通过检查并启用扩展 OES_element_index_uint
.
来切换到使用 32 位索引
我正在处理一个场景,我想在每个绘图调用中挤入尽可能多的 gl.POINTS
。我想我记得听说大多数设备每次绘制调用只允许一个绘制 2**16 个顶点,但我已经能够在我的本地计算机上每次绘制调用绘制 ~250,000 个点!
检查了 MDN's list of gl parameters 并查询了许多这些值后,我仍然不确定:如何确定单个绘制调用中可以包含的最大 gl.POINTS
数?当使用其他几何图元(例如三角形带)时,此值是否与每次绘制调用可以包含的最大顶点数有某种不同?其他人可以就此问题提供的任何见解将不胜感激!
限制仅在索引中 (gl.drawElements
)。默认情况下,索引只能是 16 位值(0 到 65535)。普通缓冲区没有限制 (gl.drawArrays
)。好吧,"no limit" 仍然意味着内存、32 位值和时间有限制。
对于 gl.drawElements
,您可以通过检查并启用扩展 OES_element_index_uint
.