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