一种基于ARM指令集CPU实现三维渲染的方法技术

技术编号:35650630 阅读:12 留言:0更新日期:2022-11-19 16:45
本发明专利技术公开了一种基于ARM指令集CPU实现三维渲染的方法,属于计算机技术领域,本发明专利技术基于ARM架构下自主研发的OS3通用操作系统,使用国产飞腾CPU硬件芯片,同时通过对自主研发的i3D三维交互式应用引擎的优化,突破ARM指令集CPU下显卡性能到8GB显存以上,保障了大型三维场景实时渲染的可能性,流畅性和高性能输出;且解决了普通ARM指令集下的CPU无法满足三维场景渲染效果,出现卡顿,黑屏,死机现象的问题;此外,通过研发国产飞腾CPU+8GB独立显卡的图形工作站,搭载自主研发的OS3通用操作系统,完美的运行i3D三维交互式应用引擎的过程,弥补了国产操作系统架构上无法使用三维应用软件的空白。件的空白。件的空白。

【技术实现步骤摘要】
一种基于ARM指令集CPU实现三维渲染的方法


[0001]本专利技术涉及计算机
,尤其涉及一种基于ARM指令集CPU实现三维渲染的方法。

技术介绍

[0002]随着科技的发展,现今的三维动画可以通过计算机生成,从制作方式到观念,都产生了革命性的变化;三维动画不仅摆脱了繁重的手工制作,并以其简便、高效、更具表现力的特点得到越来越广泛的应用;其中,三维动画更是动画业的骄傲;它主要依靠电脑图像技术,在虚拟的三维空间中,建造模型,设置色彩与材质,模拟真实灯光,并使这些物体在三维空间中动起来,通过虚拟摄像机设定拍摄整个运动过程,渲染和生成视觉真实的三维画面;与二维动画相比大大减少了重复劳动;画面效果不仅真实、生动,更能展现现实所无法模拟的魔幻场面,深受观众的喜爱,所带来的经济效益也是非常巨大的;然而目前国产ARM指令集CPU无法满足三维场景渲染效果,易出现卡顿,黑屏,死机现象的问题;因此,使三维应用软件成功的运行在国产CPU下的需求便应运而生;
[0003]因此,亟需专利技术一种基于ARM指令集CPU实现三维渲染的方法以解决上述问题。

技术实现思路

[0004]本专利技术的目的是为了解决现有技术中存在的缺陷,而提出的一种基于ARM指令集CPU实现三维渲染的方法。
[0005]为了实现上述目的,本专利技术采用了如下技术方案:
[0006]一种基于ARM指令集CPU实现三维渲染的方法,包括如下步骤:
[0007]步骤1:安装CPU和GPU,并在自主研发OS3通用操作系统中安装自主研发i3D三维交互式应用引擎的扩展程序;
[0008]步骤2:通过所述CPU获取图像处理需求的ARM指令集,并通过OS3通用操作系统启动所述i3D三维交互式应用引擎,利用所述i3D三维交互式应用引擎对OpenGL ES图形应用编程接口进行调用,将所述ARM指令集转化为OpenGL指令集;
[0009]步骤3:根据所述OpenGL指令集驱动所述GPU;
[0010]步骤4:将所述CPU结合所述GPU进行图形渲染,以运用光栅化方法实现对三维空间的渲染,以获取渲染结果;
[0011]步骤5:通过所述自主研发OS3通用操作系统接收并展示通过所述光栅化方法实现的渲染结果。
[0012]进一步地,所述CPU具体为国产飞腾CPU腾锐D2000/8core,其采用ARM架构;所述GPU具体为至少8GB以上的独立显卡。
[0013]进一步地,所述OpenGL ES图形应用编程接口同时兼容OpenGL ES2.0和OpenGL ES3.0。
[0014]进一步地,所述根据所述OpenGL指令集驱动所述GPU,包括:
[0015]将主存的处理数据复制到显存中;
[0016]CPU指令驱动GPU;
[0017]GPU中的每个运算单元并行处理;
[0018]GPU将处理后的显存结果传回主存。
[0019]进一步地,所述CPU结合所述GPU进行图形渲染,基于六个阶段实现,其分别为顶点着色器、形状装配、几何着色器、光栅化、片段着色器和测试与混合。
[0020]进一步地,所述光栅化,即运用光栅化方法实现对三维空间的渲染,包括:
[0021]三角形设置,获取整个三角网格对像素的覆盖情况,并计算所述三角形网格表示数据;
[0022]三角形遍历,检查判断每个像素是否被一个三角网格所覆盖,若被覆盖,则生成一个片元;
[0023]片元着色器,处理由光栅化阶段生成的每个片元,最终计算出每个像素的最终颜色;
[0024]逐片元操作,所述逐片元操作,包括:
[0025]决定每个所述片元的可见性,以进行深度测试和模板测试;
[0026]对通过测试的每个所述片元的颜色值和已经存储在颜色缓冲区的颜色进行混合合并。
[0027]相比于现有技术,本专利技术的有益效果在于:
[0028](1)本申请采用RISC架构的ARM处理器,其固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种;使用单周期指令,便于流水线操作执行;且其大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率,此外其ARM指令为32位的长度,Thumb指令为16位长度;Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点;ARM体系结构在保证高性能的前提下尽量缩小芯片的面积,并降低功耗;所有的ARM指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率;可用加载/存储指令批量传输数据,以提高数据的传输效率;可在一条数据处理指令中同时完成逻辑处理和移位处理。
[0029](2)本申请基于ARM架构下自主研发的OS3通用操作系统,使用国产飞腾CPU硬件芯片,同时通过对自主研发的i3D三维交互式应用引擎的优化,突破ARM指令集CPU下显卡性能到8GB显存以上,保障了大型三维场景实时渲染的可能性,流畅性和高性能输出;且解决了普通ARM指令集下的CPU无法满足三维场景渲染效果,出现卡顿,黑屏,死机现象的问题;此外,通过研发国产飞腾CPU+8GB独立显卡的图形工作站,搭载自主研发的OS3通用操作系统,完美的运行i3D三维交互式应用引擎的过程,弥补了国产操作系统架构上无法使用三维应用软件的空白。
附图说明
[0030]附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。
[0031]图1为本专利技术提出的一种基于ARM指令集CPU实现三维渲染的方法的整体架构示意
图;
[0032]图2为本专利技术提出的一种基于ARM指令集CPU实现三维渲染的方法中CPU+GPU+OS3+i3d的结构示意图;
[0033]图3为本专利技术实施例中ARM线程模式工作原理的示意图;
[0034]图4为本专利技术实施例中CPU

GPU的工作流程示意图;
[0035]图5为本专利技术实施例中CPU结合GPU进行图形渲染的流程图;
[0036]图6为本专利技术实施例中运用光栅化方法的流程图。
具体实施方式
[0037]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。
[0038]在本专利技术的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。
[0039]参照图1

2,本实施例公开了一种基于ARM指令集CPU实现三维渲染的方法,包括如下步骤:
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于ARM指令集CPU实现三维渲染的方法,其特征在于,包括如下步骤:步骤1:安装CPU和GPU,并在自主研发OS3通用操作系统中安装自主研发i3D三维交互式应用引擎的扩展程序;步骤2:通过所述CPU获取图像处理需求的ARM指令集,并通过OS3通用操作系统启动所述i3D三维交互式应用引擎,利用所述i3D三维交互式应用引擎对OpenGL ES图形应用编程接口进行调用,将所述ARM指令集转化为OpenGL指令集;步骤3:根据所述OpenGL指令集驱动所述GPU;步骤4:将所述CPU结合所述GPU进行图形渲染,以运用光栅化方法实现对三维空间的渲染,以获取渲染结果;步骤5:通过所述自主研发OS3通用操作系统接收并展示通过所述光栅化方法实现的渲染结果。2.根据权利要求1所述的一种基于ARM指令集CPU实现三维渲染的方法,其特征在于,所述CPU具体为国产飞腾CPU腾锐D2000/8core,其采用ARM架构;所述GPU具体为至少8GB以上的独立显卡。3.根据权利要求1所述的一种基于ARM指令集CPU实现三维渲染的方法,其特征在于,所述OpenGL ES图形应用编程接口同时兼容OpenGL ES2.0和OpenG...

【专利技术属性】
技术研发人员:周琛唐伟王铁
申请(专利权)人:湖南三岳数维科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1