Direct3D渲染到纹理的一点技巧

 

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

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

2. Effect文件中的纹理变量与应用程序中的纹理是一一绑定关系,应用程序中的纹理改变了,Effect文件中的也会改变。
3. 已经渲染的纹理,在当前及以后的pass中没有使用到,那么该纹理资源可以使用来渲染,不用再申请新的纹理资源,从而节省资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值