Webgl 使GL_点看起来像一个3D矩形

Webgl 使GL_点看起来像一个3D矩形,webgl,Webgl,假设有一个GL_点阵列,并希望使每个GL_点看起来具有不同的“高度”或“深度”,因此它们看起来不是正方形的平面散射,而是三维矩形/右矩形棱镜的散射 在WebGL中是否有一种技术可以实现这种效果?当然,可以使用实际表达这些3D矩形的顶点,但我的目标是优化性能,因为我有大约100000个矩形要渲染,我认为点是最好的基本体 现在我在想,人们可能会使用一系列具有不同深度的点精灵,然后为每个点指定与所需深度最接近的精灵(有效地量化深度数据场)。但是有没有办法保持深度场的连续性呢 任何关于这个问题的建议都将

假设有一个GL_点阵列,并希望使每个GL_点看起来具有不同的“高度”或“深度”,因此它们看起来不是正方形的平面散射,而是三维矩形/右矩形棱镜的散射

在WebGL中是否有一种技术可以实现这种效果?当然,可以使用实际表达这些3D矩形的顶点,但我的目标是优化性能,因为我有大约100000个矩形要渲染,我认为点是最好的基本体

现在我在想,人们可能会使用一系列具有不同深度的点精灵,然后为每个点指定与所需深度最接近的精灵(有效地量化深度数据场)。但是有没有办法保持深度场的连续性呢


任何关于这个问题的建议都将不胜感激

根据我的经验,
并不比创建自己的顶点快。此外,如果使用,您可以获得几乎相同数量的数据。您需要一个四边形,然后每个矩形的位置、宽度和高度。不确定实例化的速度是否与创建所有顶点的速度一样快。可能取决于GPU/驱动程序


ed输出时,只需根据与摄像机的距离调整
gl\u点大小
?gman概述的注意事项仍然适用。谢谢@gman,你继续教我这么多!在您解释之前,“在着色器中使用discard通常比不使用它慢”的想法似乎是不可能的。你可能是对的——实例化可能是最干净的方法。