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

发布于 2024-10-12 19:52:27 字数 312 浏览 1 评论 0原文

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

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

I am new to direct3D . I am trying to write an image on direct3ddevice and get the same image in xrgb from it. I create a texture and get the surface from GetSurfaceLevel(). I use a image file and convert it into ARGB and write it onto the locked suface from texture.
But how should I proceed further to queue this data into the swapchain so that I can get the same data in XRGB using GetBackBuffer() call on Direct3DDevice??

I want to do this, as I want to further play with textures and data from sources to apply special effects such as compositing images (one containing an alpha channel over another in rgb) using direct3d.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

怀中猫帐中妖 2024-10-19 19:52:27

首先,您不需要手动锁定纹理即可将图像数据放入其中。 如果您

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

想要一些简单的示例以供 D3D9 参考,请转到此处: http://www.d3d9.org/dx9src.htm codesampler.com/dx9src.htm

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

First off you don't need to manually lock your texture to put image data into it. You want to be using

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

If you want some simple samples for reference on D3D9 go here:: http://www.codesampler.com/dx9src.htm

If you just want to make games, you could try unity3D:: http://unity3d.com/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文