gpt4 book ai didi

c++ - 是否可以在 directx dc/buffer 上使用 opengl 进行绘制?

转载 作者:太空宇宙 更新时间:2023-11-04 13:27:39 24 4
gpt4 key购买 nike

这可能是一个愚蠢的问题,但我找不到很好的例子来说明如何解决这个问题,或者如果它可能的话。我刚刚完成了一个项目,在该项目中,我使用 gdi 将内容 biblt 到 DIB 缓冲区,然后将其交换到屏幕 hdc,基本上是制作我自己的交换链并使用 opengl 绘图。

然后我想,我可以使用 directx11 做同样的事情吗?但我似乎找不到我需要更改的 DIB/缓冲区在哪里。

我的想法是否正确?关于如何处理这个的任何想法?

最佳答案

是的,你可以。 Nvidia 公开了名为 NV_DX_interop 的特定于供应商的扩展和 NV_DX_Interop2 .通过这些扩展,您可以直接访问 DirectX 表面(当它驻留在 GPU 上时)并从 OpenGL 上下文渲染到它。此操作的开销应该很小(仅限驱动程序),并且几乎不会涉及 CPU。

请注意,虽然这是供应商特定的扩展,Intel GPU 也支持它。

但是,不要只是为了好玩或者如果您控制了应用程序的所有源代码就这样做。这种互操作方案适用于您有两个遗留/复杂代码库的情况,并且互操作是比将所有逻辑移植到另一个 API 更便宜/更好的选择。

关于c++ - 是否可以在 directx dc/buffer 上使用 opengl 进行绘制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32803766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com