将数据排队到IDirect3DDevice9的交换链中

时间:2011-01-18 21:46:57

标签: direct3d compositing

我是direct3D的新手。我试图在direct3ddevice上写一个图像,并从中获取xrgb中的相同图像。我创建一个纹理并从GetSurfaceLevel()获取表面。我使用图像文件并将其转换为ARGB并将其从纹理写入锁定的表面。 但是我应该如何进一步将这些数据排入交换链,以便我可以使用Direct3DDevice上的GetBackBuffer()调用在XRGB中获取相同的数据?

我想这样做,因为我想进一步使用来自源的纹理和数据来应用特殊效果,例如使用direct3d合成图像(一个包含alpha通道而另一个包含rgb中的另一个)。

1 个答案:

答案 0 :(得分:0)

首先,您不需要手动锁定纹理以将图像数据放入其中。你想要使用

if(FAILED(D3DXCreateTextureFromFile(Device, fileName, &texture)))
{
//handle error
}

如果您想在D3D9上参考一些简单的样本,请访问:: http://www.codesampler.com/dx9src.htm

如果您只是想制作游戏,可以试试unity3D :: http://unity3d.com/