我正在为使用Direct3D(9.0c)作为其渲染器的应用程序编写插件。我的插件没有多少东西暴露,但我可以访问IDirect3DDevice9接口。使用指向此接口的指针,是否可以枚举已分配的纹理?
具体来说,我需要找到应用程序用于渲染纹理的渲染目标,以便我可以访问其深度缓冲区以与我的自定义着色器一起使用。
谢谢, 布赖恩
答案 0 :(得分:0)
如果您可以随时访问IDirect3DDevice9,则可以使用GetRenderTarget方法获取当前渲染目标 - http://msdn.microsoft.com/en-us/library/windows/desktop/bb174404(v=vs.85).aspx。如果您需要访问深度缓冲区,那么事情会变得复杂。如果应用程序将深度写入单独的纹理,您可以获得它。如果应用程序使用硬件深度缓冲区,则无法从中读取它。