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中没有使用到,那么该纹理资源可以使用来渲染,不用再申请新的纹理资源,从而节省资源。
相关文章推荐
- 游戏服务器端开发要点
- 开源游戏 “打飞机”
- 开源游戏 “Elvish Bird”
- 操作系统进程描述
- 浅析LUA中游戏脚本语言之魔兽世界
- Grant Skinner称HTML5并非游戏的最佳选择
- 为什么DirectX做的游戏,操作感总是不如Windows原生程序?
- 简单实用的网游服务器架构
- DirectX--昨天、今天、明天
- 关于手机(智能机)游戏开发的43条小诀窍
- unity3d游戏开发的编辑应用
- 跟我从零基础学习Unity3D开发--初识U3D
- cocos2dx通过Jni调用Android的Java层代码(下)
- cocos2dx通过Jni调用Android的Java层代码(上)
- PS4/XBOX迎来全新劲敌!游戏盒子市场前瞻
- Win7版IE10下载包中暗藏了DirectX 11.1
- 游戏开发学什么?四步修炼骨灰级高手
- 2点关于ipx
- 欢迎来到cocos2d的世界
- 你的第一个cocos2d游戏