[发明专利]实现三维模型索引缓冲共享、体系创建的方法和系统有效
申请号: | 201410486310.9 | 申请日: | 2014-09-22 |
公开(公告)号: | CN104200053B | 公开(公告)日: | 2017-09-15 |
发明(设计)人: | 李生龙 | 申请(专利权)人: | 克拉玛依红有软件有限责任公司 |
主分类号: | G06F17/50 | 分类号: | G06F17/50;G06T17/00 |
代理公司: | 北京市盛峰律师事务所11337 | 代理人: | 于国富 |
地址: | 834000 新疆维*** | 国省代码: | 新疆;65 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 三维 模型 索引 缓冲 共享 体系 创建 方法 系统 | ||
技术领域
本发明涉及三维空间模型建模技术领域,尤其涉及一种实现三维模型索引缓冲共享、体系创建的方法和系统。
背景技术
目前,在三维建模领域中,为了减少计算机内存的占用率,提高图形渲染速度,一般每个模型都使用独立的顶点缓冲(Vertex Buffer)和独立的索引缓冲(Index Buffer)。其中,索引缓冲用于保存顶点缓冲的内存资源,用来告诉三维引擎渲染顶点的顺序,使用索引缓冲可以避免不必要重复资源在内存中出现。
但是,当一个三维模型体系中存在多个模型时,由于每个模型都使用独立的索引缓冲,所以,多个模型的大量的索引缓冲依然会消耗大量内存,从而导致系统运行效率下降甚至崩溃。
发明内容
本发明的目的在于提供一种实现三维模型索引缓冲共享、体系创建的方法和系统,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明采用的技术方案如下:
一种实现三维模型索引缓冲共享的方法,包括如下步骤:
S101,设置三维模型索引缓冲的排列方式;
S102,加载第m-1个三维模型,根据所述索引缓冲的排列方式,生成第m-1索引缓冲,并存储;所述第m-1索引缓冲为全局变量;
S103,加载第m个三维模型,通过比较所述第m-1个三维模型的顶点个数和所述第m个三维模型的顶点个数,判断是否要根据所述索引缓冲的排列方式,更新所述第m-1索引缓冲,生成第m索引缓冲,确定共享索引缓冲,并存储;
S104,重复步骤S103,直到n个三维模型均加载完成;
其中,m、n均为自然数,2≤m≤n。
进一步地,步骤S101之前,还包括步骤,设置三维模型的顶点的排列方式。
具体地,所述第m-1索引缓冲具体为类的静态变量。
其中,步骤S103具体为,加载第m个三维模型,比较所述第m-1个三维模型的顶点个数和所述第m个三维模型的顶点个数,如果第m个三维模型的顶点个数大于第m-1个三维模型的顶点个数,则根据所述索引缓冲的排列方式,更新所述第m-1索引缓冲,生成第m索引缓冲作为共享索引缓冲,并存储;如果第m个三维模型的顶点个数小于或等于第m-1个三维模型的顶点个数,则保持所述第m-1索引缓冲,作为共享索引缓冲。
一种实现三维模型索引缓冲共享的系统,包括,
设置模块:用于设置三维模型索引缓冲的排列方式;
比较判断模块:用于比较第m-1个三维模型的顶点个数和第m个三维模型的顶点个数,并用于判断是否要根据所述索引缓冲的排列方式,更新所述第m-1索引缓冲,生成第m索引缓冲,确定共享索引缓冲,并存储;
索引缓冲生成模块:用于生成和/或更新索引缓冲;
三维模型加载模块:用于加载三维模型。
一种实现三维模型体系创建的方法,包括如下步骤,
S201,记录每个三维模型使用的索引缓冲的起始值和终止值;
S202,将上述生成的共享索引缓冲、步骤S201中得到的每个三维模型使用的索引缓冲的起始值和终止值均发送到三维引擎;
S203,利用所述三维引擎绘制每个三维模型,创建三维模型体系。
具体地,所述三维引擎包括OPENGL和DIRECTX。
一种实现三维模型体系创建的系统,包括,
上述实现三维模型索引缓冲共享的系统;
记录模块:用于记录每个三维模型使用的索引缓冲的起始值和终止值;
转发模块:用于将权利要求1-4任一项中生成的共享索引缓冲、步骤S201中得到的每个三维模型使用的索引缓冲的起始值和终止值均发送到三维引擎;
三维引擎:用于绘制每个三维模型,创建三维模型体系。
具体地,所述三维引擎包括OPENGL和DIRECTX。
本发明的有益效果是:本发明通过获取多个三维模型中最大的索引缓冲,进而使多个三维模型共享该最大的索引缓冲,创建多个三维模型时,降低了内存资源的占用率,进而提高了系统的运行效率。
附图说明
图1是本发明实施例提供的一种实现三维模型索引缓冲共享的方法流程示意图;
图2是本发明实施例提供的一种实现三维模型体系创建的方法流程示意图;
图3是本发明实验例一提供的三维模型共享索引缓冲的示意图;
图4是本发明实验例二提供的三维模型共享索引缓冲的示意图;
图5是本发明实验例三提供的创建太阳系三维模型体系时共享索引缓冲的示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于克拉玛依红有软件有限责任公司,未经克拉玛依红有软件有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410486310.9/2.html,转载请声明来源钻瓜专利网。