如何使用 allegro 5 重复位图

How to repeat a bitmap with allegro 5

我有一张 400x400 的图像,需要在 allegro 5 中平铺。它需要平铺各种尺寸,所以我不能简单地创建更大的图像。但是,google 搜索没有返回任何关于此的内容,也没有搜索此站点。有什么方法可以做到这一点(就像你在 DirectX/OpenGL 中使用纹理环绕、夹紧和反射所做的那样)而无需一遍又一遍地绘制图像?

两个图形 API 都在内部执行此操作,但 Allegro 中没有 "tiling" 函数,因此您必须实现自己的函数。

渲染时间的影响几乎不存在,因为您仍然低于当前卡片每秒可以绘制的数百万个三角形。作为奖励,您可以使用 al_hold_bitmap_drawing(true) 然后从同一位图中绘制您想要的图块以获得更高的帧率。