3D基础编程笔记(一)

概念篇

DirectX 9.0,C++

作为3D编程菜菜,经同事指点若须打好基础,应从DirectX3D开始,因为D3DX对于3D编程的封装没那么高级.同样一个功能 D3DX往往需要几个函数,而OpenGL等则一个函数搞定,太高级的封装反而隐藏了原理.(大家都会用cocos2d-x,而且用得很溜,试问又有几个能拍胸脯说真正理解其内部原理呢.)下面记录一些常用概念,主要方便自己查询.

什么是引擎

引擎是什么?大家在游戏开发中肯定会遇到的,在日常同行交流中 首先问的估计也是:你们项目用的是什么引擎啊?用cocos2d-x?用U3D?用虚幻4?用CryEngine?用godot?那为什么要把他们叫做引擎呢?说到引擎一般有三种东西:

  • 机器发动机

汽车的引擎也叫发动机,因为那是整个汽车的动力源泉.

  • 搜索引擎

搜索引擎指自动从因特网搜集信息,经过一定整理以后,提供给用户进行查询的系统。

  • 游戏引擎

游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些互交式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程序而不用由零开始。大部分都支持多种操作系统平台,如Linux、Mac OS X、微软Windows。游戏引擎包含以下系统:渲染引擎(即“渲染器”,含二维图像引擎和三维图像引擎)、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理。

我们关注的显然是游戏引擎,一句话概括:游戏引擎就是一整高级编程组件.

继续阅读“3D基础编程笔记(一)”