3、3D引擎与游戏编程探索

3D引擎与游戏编程探索

1. 引擎定义

在游戏编程领域,“引擎”和“3D引擎”是非常热门的词汇,然而很多使用这些术语命名代码项目的爱好者,可能并未完全理解它们的含义。在深入代码之前,有必要明确其定义。

从一般意义上讲,引擎就像推动车辆前进的机器。在游戏编程中,引擎是项目的一部分,用于推动程序的特定功能。以汽车为例,插入钥匙转动点火开关,汽车发动机启动,然后踩下油门,发动机将动能传递到驱动轴,使汽车移动。司机无需了解发动机内部的具体工作原理,只需专注于驾驶。

同样的概念适用于3D引擎。调用类似 Turn_Key_in_Ignition_Lock() 的函数启动引擎,3D引擎会让图形适配器准备好运行。当向图形适配器发送3D模型时,3D引擎会将这些模型显示在屏幕上。引擎的工作包括与图形适配器通信、设置渲染状态、转换模型以及处理复杂的数学计算(如旋转矩阵)等底层工作。

2. 引擎与API的区别

如今,有多个库可提供3D引擎的基本功能,有些库甚至可以被称为3D引擎,例如DirectGraphics、OpenGL、Java3D和OpenInventor等。这里主要关注DirectGraphics和OpenGL这两个大型API,而忽略Java3D或OpenInventor等更全面的3D引擎方法。

这两个大型API是图形编程中集成度较低的部分,它们通过图形适配器驱动在软件应用程序和硬件图形适配器之间进行交互。但即使它们大量处理3D图形,也不能被称为3D引擎。它们更像是3D管道,接收3D数据并输出2D数据。

很多人在搜索3D引擎时,会看到大量展示自制3D引擎的网站,这些引擎可能具备诸如

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值