在 LWJGL 中非常快速地渲染 20 000 个矩形

Render 20 000 rectangles really fast in LWJGL

我在 Java 制作游戏,我想在不使用着色器的情况下非常快速地同时渲染大约 20000 个矩形。这真的可能吗?

这取决于它们有多大以及渲染了多少。您可以裁剪不面向相机的矩形。您也可以停止渲染远离相机的矩形。 您也可以尝试丢弃不会显示的矩形。

您不应该以即时模式呈现它们。为此尝试使用 VBOs/VAOs 或显示列表(已弃用)。这样数据(顶点和纹理坐标)只发送到 GPU 一次。 (渲染时,您只需调用 id)如果您的某些几何形状具有相同的形状,您还可以对许多网格使用一个显示列表/VAO,并通过 translating/rotating/scaling 坐标系移动它们。