您的位置:首页 > 其它

Direct3D渲染到纹理的一点技巧

2014-04-29 14:38 183 查看
 

在Direct3D开发中,HLSL文件中往往需要多个pass,这就需要渲染到纹理的技术。目前开发的一个D3D系统中,一个Effect文件有3个technique,总共有10个pass,也就是需要9次渲染到纹理,需要申请多个Texture2D,RenderTargetView和ShaderResourceView,按照9次渲染,以上三种纹理资源就需要各申请9个,申请资源非常多,而且每个纹理都是RGBA格式,占用显存较多。后来,经过测试琢磨到了一些渲染到纹理的一点技巧,可以减少申请的纹理数,那就是纹理复用。可以总结为以下三点:

1. 在一个pass中,使用到的纹理不能作为渲染纹理;

2. Effect文件中的纹理变量与应用程序中的纹理是一一绑定关系,应用程序中的纹理改变了,Effect文件中的也会改变。

3. 已经渲染的纹理,在当前及以后的pass中没有使用到,那么该纹理资源可以使用来渲染,不用再申请新的纹理资源,从而节省资源。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息