【问题标题】:How to cheaply draw a repeating pattern over rectangular area?如何在矩形区域上廉价地绘制重复图案?
【发布时间】:2012-12-30 19:29:16
【问题描述】:

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

问题是,如果我只是通过多次绘制调用一个接一个地绘制足够的精灵,它只会消耗大量的 cpu。难道没有其他不需要这么多draw call的方法吗?

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

【问题讨论】:

  • @JasonD Texture2d,绘制以重复图案填充矩形。
  • 这是一个比较常见的问题;看我的回答here

标签: xna textures repeat rectangles


【解决方案1】:

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

【讨论】:

  • 这种方法的问题是我确实必须进行大量的draw call,这是我试图避免的,并且我成功地得到了Cole Campbell在上面评论中提供的答案。跨度>
猜你喜欢
  • 2012-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多