doom源码
⑴ 游戏引擎是什么_
游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。
游戏引擎提供一系列可视化开发工具和可重用组件。这些工具通过与开发环境进行集成,方便开发者简单、快速进行数据驱动方式的游戏开发。为了提高游戏开发人员的开发效率,引擎开发者会开发出大量的游戏所需要的软件组件。
大多数引擎集成了图形、声音、物理和人工智能等功能部件。游戏引擎会被称为“中间件”,因为它们可以提供灵活和重用平台,向游戏开发者提供所需要的全部核心功能,从而节省大量的游戏开发费用,降低开发的复杂性,缩短游戏的上市时间,所有这些对于高竞争性的游戏产业来说都是关键因素。
诸如虚幻系列引擎、Unity3D、Frostbite Engine、zerodin引擎、Doom3引擎、CryENGINE、3DGame
Studio、RenderWare、Gamebryo、Virtools以及Source引擎等引擎。
与其它中间件解决方案一样,游戏引擎通常提供平台抽象层,实现同一款游戏可以在各种平台上运行,包括游戏机和个人电脑,而只需要改动少量的源代码。
游戏引擎均设计成基于组件的架构,方便进行特定子系统的替换或者添加新的引擎中间件(通常成本较高)从而实现功能的扩展。比如Havok物理引擎、Miles
Sound System声音引擎和Bink图形引擎等。一些游戏引擎如RenderWare引擎由一些松耦合的游戏中间件组成,可以根据需要定制出游戏引擎。
通过组件技术,可以实现游戏引擎的扩展性,而扩展性通常是游戏引擎优先考虑的特性。游戏引擎经常会应用于交互应用的实时图像显示,比如营销演示、建筑可视化、训练模拟、环境建模。
(1)doom源码扩展阅读:
1、硬件概念
3D引擎的渲染系统通常建立在一套高级图像API之上,诸如Direct3D或OpenGL,这些API封装了GPU和显卡的部分功能。级别低一点的如DirectX、SDL和OpenAL也经常使用,他们提供对其他硬件设备的独立支持,诸如输入设备(鼠标、键盘、控制杆)、网卡、声卡。在硬件加速图形卡出现以前,开发者使用软件渲染。现在软件渲染依然被广泛用于非及时图像的渲染,或者是用户的硬件设备不支持硬件渲染。
2、中间层
一些引擎开发者以开发整个游戏引擎而着称,他们试图开发一个具有所有游戏元素的引擎,包括图像、声音、物理、人工智能。比如Gamebryo和RenderWare就是这样的引擎。
也有一些开发者只专注于开发引擎的某一部分,但他们取得的成就往往比全功能引擎还高。SpeedTree就是一个很好的例子,他适用于大规模植被的渲染,被使用在Playstation
3、Xbox 360,微软开发的一些RPG,以及上古卷轴4:遗忘。
一些引擎提供完整的源代码,其他的只提供一个经过封装的API接口,使用者用过调用DLL文件来使用这个引擎。还有一些引擎将引擎二进制包和源代码划分开来,前者被免费授权使用,而后者则需要高额的费用来购买使用授权。
⑵ 鍦ㄤ竴涓猚婧愮▼搴忎腑,鍧楀纺娉ㄩ喷閮ㄥ垎浠ヤ粈涔埚紑濮
鍦–璇瑷婧愮▼搴忎腑锛屽潡寮忔敞閲婇儴鍒嗕互/寮濮嬶纴浠/缁撴潫銆
鍧楀纺娉ㄩ喷锛屼篃绉颁负澶氲屾敞閲婏纴鏄鍦–鍜屽叾浠栫紪绋嬭瑷涓甯歌佺殑涓绉嶆敞閲婂舰寮忋傝繖绉岖被鍨嬬殑娉ㄩ喷浠/寮濮嬶纴骞朵互/缁撴潫銆傚潡寮忔敞閲婂厑璁哥敤鎴峰湪娉ㄩ喷涓鍖呭惈澶氲屾枃链锛屽洜姝ゅ缑钖嶅潡寮忋
3銆佹瀯寤鸿蒋浠讹细C璇瑷鍙鐢ㄤ簬鏋勫缓钖勭岖被鍨嬬殑杞浠讹纴鍖呮嫭镎崭綔绯荤粺锛埚侺inux锛夛纴鏁版嵁搴撶$悊绯荤粺锛埚侷nnoDB锛夛纴娓告垙锛埚侱oom锛夛纴锲惧舰鐢ㄦ埛鐣岄溃锛埚侴TK锛夛纴缃戠粶鍗忚锛埚俆CP/IP锛夌瓑銆傜敱浜嶤璇瑷镄勬晥鐜囧拰𨱔垫椿镐э纴瀹冭骞挎硾鐢ㄤ簬钖勭嶉渶瑕侀珮镐ц兘鍜屼绠寤惰繜镄勫簲鐢ㄧ▼搴忋
4銆佸祵鍏ュ纺绯荤粺寮鍙戯细宓屽叆寮忕郴缁熼氩父闇瑕佺洿鎺ヤ笌纭浠惰繘琛屼氦浜掞纴瀵规ц兘鍜屽唴瀛树娇鐢ㄧ殑瑕佹眰闱炲父楂樸侰璇瑷鐢变簬鍏跺圭‖浠剁殑绮剧粏鎺у埗鍜岄珮鏁堢殑鍐呭瓨绠$悊鑳藉姏锛屾垚涓轰简宓屽叆寮忕郴缁熷紑鍙戠殑棣栭夎瑷銆