我一直在生产这个基于2d的基于tile的游戏引擎,以用于几个项目。在OpenGL中绘制多个四边形的最有效方法
我有一个名为“ScreenObject”类,它主要由
Dictionary<Point, Tile>
的点关键是要显示在何处渲染屏幕上的瓷砖和瓷砖包含一个或多个纹理是在那一刻画出来。这个ScreenObject是瓷砖将被修改,删除,添加等等。
我在测试中绘制瓷砖的原始方法是遍历ScreenObject并在每个位置分别绘制每个四边形。从我看过的文字来看,这是一个巨大的资源浪费。在测试中速度并不是很慢,但是在完成动画课程和效果课程后,我相信它会非常缓慢。
还有最后一件事,如果你不介意的话。 正如我之前所说的,Tile类可以包含多个纹理以在屏幕上的Point位置绘制。
我在这里认识到可能有两种选择。为每个要绘制的纹理添加一个四边形,或者,以某种方式为相同的四边形使用多个纹理(如果可能的话)。即使每个图块只包含一个纹理,也会在屏幕上绘制64个四边形。大多数瓷砖将包含2-5个纹理,所以使用这种方法总的四边形数量将显着增加。为每个新纹理添加一个四边形是否可行?还是我忽略了一个更好的方法来做到这一点?