各种DirectX绘图方法的成本/收益?

时间:2011-12-10 04:25:48

标签: c++ drawing directx

我正在使用C ++和DirectX9制作2D游戏,而且我有相当数量的工作。截至目前,我已经使用sprite.draw进行一切:播放器,背景(用循环平铺),墙壁,HUD等等。然后我开始质疑我是如何绘制的游戏是最好的方式。使用精灵和使用纹理基元之间是否存在重大差异?有没有办法从我自己的功能中单独设置每个像素,这是否实用?如果我以后可以添加光照和alpha混合,那将是很好的,如果它不会使程序减慢太多,我会自己编写代码。我只是想立刻把事情做好,并确保没有什么我想念的。

1 个答案:

答案 0 :(得分:0)

精灵绘图很好,它的优点是它可以处理所有纹理坐标,也可能是硬件加速。

  

有没有办法从我自己的函数中单独设置每个像素,这是否实用

这是可能的,但不实用。 cpu无法在每帧处理如此多的像素,并且其总线的宽度都不足以在每帧中发送所有像素。这就是显卡的用途,它可以更快地进行像素处理,并且显示屏的总线宽得多。

  

如果我以后可以添加光照和alpha混合,那就太好了,如果它不会使程序放慢太多,我就会自己编码

有可能,内置灯光和Alpha混合功能,你甚至可以自己编码(它叫做shader)。