[发明专利]场景物件的实例化渲染无效
申请号: | 201210446280.X | 申请日: | 2012-11-09 |
公开(公告)号: | CN102929641A | 公开(公告)日: | 2013-02-13 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 沈阳创达技术交易市场有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06T15/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 110167 辽宁省沈阳*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 场景 物件 实例 渲染 | ||
技术领域
本发明涉及计算机图形技术领域,更具体地说,涉及大量场景物件的渲染优化方法。
背景技术
在交互式程序中,丰富用户体验的重要方法之一就是呈现一个充满大量各种有趣物体的世界。从数不清的草丛、树木到普通杂物:所有这些都能提高画面最终的效果。
从渲染的观点来看,实现这种效果,无非就是渲染大量小物体,一般情况下,这些物体彼此都很类似,只在颜色、位置以及朝向上有细小的差别。举个例子,比如森林中所有树的几何形状都是很类似的,而在颜色和高度上有很大差别。对用户来说,由外形各异的树组成的森林才真实,才会相信它,从而丰富自己的游戏体验。
但是,使用当前的GPU和图形库渲染大量由少量多边形组成的小物体会带来很大的性能损失。
发明内容
本发明要解决的技术问题在于,针对大量几何体渲染提供场景物件的渲染优化方法。
本发明所采用的技术方案是一种场景物件的渲染优化方法,其要步骤如下:
1)把场景中渲染的几何体实例对应的物件网格模型,作为第一个流传入;
2)把场景中物件的几何体的LocalToWorld矩阵作为第二个流传入;
3)根据几何体批次的原理,编写顶点shader程序,主要的程序代码如下:
Stuct InstanceVertex
{
D3DVECTOR3 mPosition;
//other properties……
WORD mInstanceIndex[4]; //Direct3D requires SHORT4
};
float4 worldPostion = mul(input.position, modelMatrix)。
本发明的优点在于:最小化渲染状态和纹理的改变,同时,在Direct3D中使用一次方法调用,在同一批次中对同一三角形进行多次渲染。这样,就能减少CPU提交批次的时间,把CPU资源留给物理、AI等其他系统;由于最小化了CPU负载和内存占用,这种技术能高效的渲染同一几何体的大量副本,大大的降低硬件的负载,同时又不影响场景效果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于沈阳创达技术交易市场有限公司,未经沈阳创达技术交易市场有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210446280.X/2.html,转载请声明来源钻瓜专利网。