如何在矩形区域上廉价地绘制重复图案?

时间:2012-12-30 19:29:16

标签: xna textures repeat rectangles

我有小纹理(8×8,16×16,20×20,还有10×20,24×32,64×16和其他各种尺寸),我想填充一个矩形区域屏幕,重复而不是拉伸。

问题是如果我通过多次绘制调用一个接一个地绘制足够的精灵,它只消耗了大量的cpu。是否有其他方法可以做到这一点,不需要这么多的绘制调用?

使用重复精灵的预制纹理不是解决方案 - 目标矩形区域具有不同的大小,并且每个游戏都是随机生成的。

1 个答案:

答案 0 :(得分:0)

在创建随机矩形区域时,您可以创建RenderTarget2D以及每个矩形。然后将您的瓷砖绘制到RenderTarget2D中一次。之后你可以使用RenderTarget2D(可以像Texture2D一样绘制)在一次Draw调用中绘制所有的tile。