【摘要】文章主要针对3D 游戏图形渲染引擎的实现进行分析,结合当前社会发展以及电子游戏的不断革新等为出发点,积极从游戏图形渲染引擎概述、3D 游戏图形渲染引擎具体设计、3D 游戏图形渲染引擎设计的应用实现等方面进行深入研究探索,
主要研究目的在于进一步加强电子游戏中3D 游戏图形渲染引擎技术,更好的提高电子游戏设计质量,促进电子游戏的革新进步。
【关键词】3D 游戏;图形渲染引擎;实现分析
在科学技术不断发展进步基础上,电子游戏逐渐开始向数字游戏形式上靠拢,数字游戏成为计算机科学技术发展产业中潜力巨大的发展技术领域,在很多国家中,对这种技术形式非常重视,并且游戏产业的收入逐渐超出传统的娱乐产业数倍。在游戏研究开发期间,游戏引擎非常重要,当前电子游戏中非常重视图形渲染引擎的应用以及革新,特别是在3D技术发展基础下,游戏图形渲染引擎越来越复杂,从客观上来讲,游戏图形渲染引擎的应用,对游戏画面以及视觉具有直接影响。
游戏引擎对游戏的画面非常重要, 在电子游戏不断发展基础上,游戏玩家对游戏的画面要求越来越严格, 同时游戏画面设计在也逐渐复杂,在这种发展基础上,需要不断提升游戏的实时响应特点,游戏代码的长度也在不断增加,在不断减少游戏研究开发成本基础上,需要将游戏中一些常用代码设置成模块的形式,并且确定模块的应用接口,这样就形成一种引擎,带动游戏画面的运行,这种方式被称之为游戏引擎。在正常情况下,游戏的引擎可以为一个,也可以为多个,,模块代码能够重复使用,对游戏中的一些功能进行处理,激发出不同游戏中的性能。不同的模块数据库中能够包含不同功能上的模块形式,每个模块自身的程序包含一个程序接口,通过这个接口接受到模块,将模块中的模型、关卡以及动画等数据进行处理,还能够同时和其他的模块同时运行,组成固定的游戏程序。从整体上来讲,游戏的引擎在游戏中属于重要的API。游戏引擎的种类主要分为两种,一种是根据代码在程序中的编写应用为主,引擎主要是应用在游戏硬件上。当然这种引擎方式在编写以及运行上非常复杂,对代码的要求也非常高,需要不同的硬件运行不同的程序代码,这种引擎主要应用在通用图形驱动运行中。再者是在SDL 技术的兴起以及应用到API 中,引擎开始引入到数据库中,这些代码数据库帮助代码进行归类,更理想的开展游戏,同时还能降低编码编辑工作的压力,提高整体的运行效率。
(一)游戏坐标变换
坐标变化应用过程中,包含局部坐标变换、世界坐标变换、相机坐标变换、透视坐标变换四种。局部坐标变换期间主要是将其向世界坐标变换进行移动,这个过程中需要建立相应的矩形函数,将函数计算之后用作变换的参数。在建设局部坐标向世界坐标之间的函数,保证局部坐标变换到世界坐标过程中能够保持图形渲染的稳定,变化过程更加简洁。具体函数形式如下所示:
void! Modelse! Toee! Worldee! OBJECT();void! Model!
Tora! Worldse! RENDERLIST();利用这种函数形式,能够帮助局部坐标向世界坐标转变,并且在转变过程中将具体的数据结构进行固定,保证图形渲染的稳定。再者是世界坐标向相机坐标变换。世界坐标从局部坐标变换之后还需要向相机坐标变换,这个变换过程主要包含两个步骤,首先是平移,再者是旋转。具体操作步骤为:设定相机坐标具体位置,将相机目标中的所有物件进行平移,在利用欧拉模型形式设定三个角,用这三个角作为项目目标的方向,朝着不同的角度分别进行移动,将其转为矩形,这样世界坐标的函数就会转变为:void! Init_! ! CAMERA();void! Build! CAM4DV1! Matrixwe! Euler();void!
Buildse! CAM4DV1! Matrix_! UVN();再者是相机坐标向透视坐标之间进行变换,相机坐标向透视坐标变化期间,需要掌握透视坐标主要将物体自身的顶点进行投影,将其投影到平面中,确定平面的距离变化,计算出物体移动的速度与视觉感受之间的连线,保证能够与平面产生交点。具体函数为:void! Camera! Towe! Perspective! OBJECT();void!
Camera_To_Perspectiveee_RENDERLIST();最后是将透视坐标专向屏幕坐标中,在这次变化中主要的函数形式为:void! Camera! Toee! Screen_! OBJECT();void! Cameraes! Tose! Screen!
RENDERLIST(),这其中需要注意,保证函数之间的变化,对数据形式的位置变向一定要及时进行确定,这样才能保证变换的顺利。
(二)游戏图形物体剔除
对于游戏中的物体剔除主要指的是将包围的球体进行测试,对游戏中的每个空间都进行测量, 同时根据测量再次建立一个相应的球体。针对球体中的球心进行确定,结合其中的单点,将坐标值进行变换,准确判定球体变化是否确定在玩家的视野中,若是球体变化不在视景体中,就需要充分进行确定,将其全部包围起来,再次进行测试。
(三)背面消除应用
背面消除技术主要是针对图形的画面处理为基础,利用统一的形式,进行逆时针或是顺时针旋转,当然旋转的顺利以及方向一定要保证一致,对物体的变化以及多变运行进行标记,在根据标记内容计算出多边形的线条变化,结合线条变化观察,这样能够理想的达到画面处理的效果,提高画面的清晰度。
综上所述,文章中对游戏图形渲染引擎进行了详细介绍,在介绍游戏引擎基础上,详细阐述了其中的游戏图形渲染技巧,以及怎样将3D图形处理技术融入到游戏中,提高游戏画面清晰度,促进电子游戏的发展。
作者简介:陈志敏(1986-),女,湖南益阳人,民族:汉族,职称:助教,学历:本科,研究方向:动画。
参考文献:
[1]刘祎玮,张引,叶修梓.3D 游戏引擎渲染内核架构及其技术[J].计算机应用研究,2016,08:45-48+51.
[2]欧阳慧琴,陈福民.物理引擎与图形渲染引擎绑定的研究与实现[J].计算机工程与设计,2016,21:5580-5582+5620.
[3]向俊,叶青,袁勋.基于网页的可视化网络医学影像平台设计[J].生物医学工程学杂志,2017,02:233-238.
[4]张鹏,陈芝荣,安峰.3D 游戏中“刀光剑影”特效的实现算法[J].计算机系统应用,2014,07:192-194+243.