游戏引擎设计:
在设计引擎时,首先我们要做的是把整个引擎框架设计好
3D游戏引擎分为3个部分:Core底层算法, Engine引擎, Game游戏。引擎架构设计主要分为Core和Engine
Core作为最底层的封装,也对外提供逻辑编写接口
其主要功能有:自定义类型设计, 视景体封装(处理相机裁剪,在相机范围内是可视的,在相机以外的内容要被裁剪掉),游戏灯光设计
Engine作为游戏逻辑的接口,用于编写游戏逻辑调用,其实现功能包括游戏场景中相机封装
在Engine层实现的相机类将调用Encore层的视景体接口, 实现裁剪功能
图形绘制功能接口主要用于绘制游戏场景的物体
输入接口处理游戏和用户交互
游戏对象类是场景中所有物体对象的父类
在逻辑层实现的具体对象类都需要继承该类
游戏窗口是定义在引擎内部实现的,
GDI的含义
GDI是GraphicsDeviceInterface 图形设备接口. 它负责系统与绘图程序之间的信息交换
处理所有windows程序图形输出
引擎渲染思路:
(1)将物体的世界坐标转换为相机坐标
(2)再从相机坐标转换到透视坐标
(3)再从透视坐标变换到图形坐标
流水线如下:
局部坐标到世界坐标转换->物体剔除->插入渲染列表->背面消除渲染列表->世界坐标到相机坐标变换渲染列表->相机坐标到透视坐标
->透视坐标到屏幕坐标->绘制渲染列表