[发明专利]一种3D渲染方法、装置及引擎有效
申请号: | 201610004878.1 | 申请日: | 2016-01-06 |
公开(公告)号: | CN105701854B | 公开(公告)日: | 2018-07-03 |
发明(设计)人: | 孔颖 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06T15/00 | 分类号: | G06T15/00 |
代理公司: | 深圳新创友知识产权代理有限公司 44223 | 代理人: | 江耀纯 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 参数索引 映射表 映射关系 拷贝 预置 调用 引擎 渲染 驱动 记录 | ||
本发明公开了一种基于DirectX Effect系统的3D渲染方法,包括步骤:S1、在调用DrawCall对当前画面的物体进行渲染时,根据预置的映射表获取3D引擎内存中的所述物体的参数值所对应的shader参数索引值;其中,所述映射表中记录有DirectX Effect系统的Effect参数名与shader参数索引值的映射关系,且所述3D引擎内存中的每一物体的参数值设有对应的Effect参数名;S2、将所述3D引擎内存中的所述物体的参数值拷贝到所述shader参数索引值所对应的驱动内存中。本发明还公开了一种基于DirectX Effect系统的3D渲染装置及3D游戏引擎。
技术领域
本发明涉及图像处理技术领域,尤其涉及一种基于DirectX Effect系统的3D渲染方法、装置以及3D游戏引擎。
背景技术
3D引擎需要有各种渲染效果(Effect),比如方向光、点光、阴影等等这些基础效果,又比如中毒、冰冻、隐身这些游戏中特殊渲染效果。
实现渲染效果的最底层技术就是Shader,这是一种直接运行在显卡GPU上的程序,一般效果都会由顶点Shader与像素Shader组成,负责整个渲染流程的不同功能。
Shader的输入包括顶点、贴图与参数,当Shader程序确定功能之后,用户改变这些输入就可以显示出不同的画面表现。顶点决定渲染物体的形状,贴图决定渲染物体的基本颜色与纹理,参数则最终决定各种特殊效果的具体表现,比如方向光效果的方向参数决定物体的明暗面朝向、隐身效果的Alpha参数决定了物体透明的程度。
游戏画面每一次渲染即为一次GPU DrawCall。每一次DrawCall对应着一个Effect、一套Shader,还对应着渲染物体的顶点、贴图、参数。DrawCall是GPU进行渲染的最基础调用。一帧3D画面的DrawCall数量与画面中的物体数量成正比,简单的物体只有一次DrawCall,复杂的物体可能有多次DrawCall。
3D引擎可能有非常多的渲染效果,这么多的效果不可能都写在引擎代码里,因此Effect的描述需要在引擎之外去定义。引擎提供一个基础的框架系统,支持用户去扩展各种渲染效果。
Effect系统是底层Shader与各种输入数据之间的桥梁,Effect系统定义了Effect文件。Effect文件是一种用户可阅读和修改的描述文本,它要描述Shader代码本身,它要定义顶点的格式,它要定义这个效果需要多少贴图,最后还要描述各种Shader参数的定义,一般的Effect都会带有几个到几十个参数。而Effect系统具体的主要功能有两个:1)在引擎加载模块中解释Effect文件中各种输入数据的定义,2)在引擎渲染模块中高效的把各种渲染输入数据传递到底层的Shader。
现有3D引擎的Effect系统,一般有两种实现选择:
1)直接使用DirectX(Direct eXtension,简称DX)的Effect系统,这是微软在DirectX中已经实现的一套Effect系统。优点是此系统直接可用且Effect文件格式比较通用,缺点就是无源码,不够灵活,性能方向只能说勉强够用,真的要做极限的优化还有一段距离。这种方案在很多游戏公司自研端游引擎中比较常见。
2)自己实现一套Effect系统。由于微软DirectX不是跨平台的,因此当3D引擎有跨平台的需求时,引擎开发者会自己实现一套Effect系统。这个方案的优点当然就是灵活、有需要可以自行修改,缺点是开发成本比较大,因为Effect文件是一种比较复杂的描述文本,基本就是一套简化的编程语言,解释难度比较大。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610004878.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:金属陶瓷盖板
- 下一篇:用于合作动画的实时方法