在direct 3d中使用渲染到贴图的技巧

来源:互联网 发布:下载外汇交易软件 编辑:程序博客网 时间:2024/05/16 11:22

在direct 3d中支持直接渲染到贴图,使用手动的方式,还需要创建自己创建depth stencil。在d3dx中提供了ID3DXRenderToSurface接口简化了render to surface的操作,不再需要自己维护depth stencil。以下是渲染到贴图的基本步骤:

 

声明必要的接口:

 

初始化阶段

 

物体渲染到贴图

 

再将整个贴图渲染到屏幕

 

总结:

渲染到贴图有很多实际作用,如实现画中画,但常用的是用来实现景深的一种手段,现将场景渲染到贴图并保存对应的深度值,在将贴图渲染到屏幕的时候,对贴图进行抖动模糊,并根据深度来决定模糊插值,从而实现模拟“景深”的一种手段。

但是渲染到贴图本身也有很多缺陷,其性能会下降大致2/3,且最为重要的是“不支持multisample”,目前普遍的解决方法(针对dx9)就是使用IDirect3DDevice9::CreateRenderTarget和IDirect3DDevice9::StretchRect