预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共16页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号(10)申请公布号CNCN103679792103679792A(43)申请公布日2014.03.26(21)申请号201310724190.7(22)申请日2013.12.24(71)申请人TCL集团股份有限公司地址516001广东省惠州市鹅岭南路6号TCL工业大厦8楼技术中心(72)发明人李相涛邵诗强(74)专利代理机构深圳中一专利商标事务所44237代理人张全文(51)Int.Cl.G06T15/00(2011.01)权权利要求书4页利要求书4页说明书9页说明书9页附图2页附图2页(54)发明名称一种三维模型的渲染方法和系统(57)摘要本发明适用于三维显示技术领域,提供了一种三维模型的渲染方法和系统,所述方法包括:通过三维模型解析工具将待解析三维模型解析为多个组件;通过三维图形程序接口将所述多个组件的数据发送到终端的图形处理器;创建用于记录所述多个组件状态的状态链表;通过交互设备的碰撞选择组件,从所述状态链表获取所选择组件的第一模型透视投影矩阵,并更新为第二模型透视投影矩阵;将所述第二模型透视投影矩阵确定为第三模型透视投影矩阵,渲染所述第三模型透视投影矩阵。通过本发明,可减少三维模型在拆分组合的过程中与渲染的交互过程。CN103679792ACN1036792ACN103679792A权利要求书1/4页1.一种三维模型的渲染方法,其特征在于,所述方法包括:通过三维模型解析工具将待解析三维模型解析为多个组件;通过三维图形程序接口将所述多个组件的数据发送到终端的图形处理器,并将所述多个组件的三维点坐标和用于记录所述多个组件相邻关系的索引保存到终端的内存,所述索引与所述三维点坐标相关联;创建用于记录所述多个组件状态的状态链表,所述状态链表包括:当前所有组件的索引、所有组件的位置坐标、以欧拉角表示的所有组件的方位角和渲染组件需要的模型透视投影矩阵,所述模型透视投影矩阵包括:模型矩阵、视图矩阵、透视投影矩阵;通过交互设备的碰撞选择组件,从所述状态链表获取所选择组件的第一模型透视投影矩阵,并将所述第一模型透视投影矩阵更新为与所述交互设备相关的第二模型透视投影矩阵;将所述第二模型透视投影矩阵确定为第三模型透视投影矩阵,通过所述三维图形程序接口将所述第三模型透视投影矩阵发送到所述图形处理器,并通过所述图形处理器将所述第三模型透视投影矩阵对应的三维模型渲染出来,所述第三模型透视投影矩阵为进行渲染的模型透视投影矩阵。2.如权利要求1所述的方法,其特征在于,所述通过交互设备的碰撞选择组件,从所述状态链表获取所选择组件的第一模型透视投影矩阵,并将所述第一模型透视投影矩阵更新为与所述交互设备相关的第二模型透视投影矩阵包括:通过碰撞检测算法检测交互设备是否碰撞到组件,如果碰撞到,通过计算确定被碰撞的组件;从所述状态链表中将确定的所述组件的状态单独列为状态Stateproc,从所述状态链表中获取该组件的第一模型透视投影矩阵,并将所述第一模型透视投影矩阵更新为与所述交互设备的位置和方位角信息相关的第二模型透视投影矩阵。3.如权利要求2所述的方法,其特征在于,所述从所述状态链表中将确定的所述组件的状态单独列为状态Stateproc包括:如果所述待解析三维模型只包括被碰撞组件一个组件,则将其所对应的状态列为状态Stateproc;或者,如果所述待解析三维模型包括被碰撞组件在内的多个组件,则移除所述被碰撞组件在所述状态链表内的状态,创建新的状态Statenew,将所述被碰撞组件的索引存储到所述状态Statenew,并将所述被碰撞组件在所述状态链表内的信息存储到所述状态Statenew,将所述状态Statenew列为状态Stateproc,并加入到所述状态链表内,所述被碰撞组件在所述状态链表内的信息包括:被碰撞组件的位置坐标、以欧拉角表示的被碰撞组件的方位角和渲染被碰撞组件需要的模型透视投影矩阵。4.如权利要求3所述的方法,其特征在于,所述将所述第一模型透视投影矩阵更新为与所述交互设备的位置和方位角信息相关的第二模型透视投影矩阵,包括:根据公式将第一模型透视投影矩阵更新为第二模型透视投影矩阵:2CN103679792A权利要求书2/4页Matrixmvp=Matrixper×Matrixview×Matrixmodel其中,在Matrixmodel的计算公式中,(rpy)与(xpypzp)分别是被碰撞组件的方位角与位置坐标,Matrixview是OpenGL渲染时需要的视图矩阵,(UxUyUz)、(VxVyVz)、(NxNyNz)和(xcameraycamerazcamera)分别是摄像机的右方向向量、上方向向量、朝向向量和位置坐标;Matrixpers是三维图形程序接口渲染时需要的投影