0

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

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

4

1 回答 1

0

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

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

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

如果你只是想做游戏,你可以试试 unity3D:: http://unity3d.com/

于 2011-02-02T23:52:18.973 回答