Muli3D源码分析(1) - 框架概览

来源:互联网 发布:java核心编程 pdf下载 编辑:程序博客网 时间:2024/05/17 01:16

Muli3D简介

Muli3D是一个平台无关的软渲染库,实现了渲染流水线的特性,代码可读性高,模块性好,很适合去做一些原型或者研究一些新的特性。

 

编译

环境

Window 64bit

VS2015

Muli3D 0.8 https://sourceforge.net/projects/muli3d/

用VS2015打开项目,随便找个工程进行编译,爆了下面的error.

 

链接器工具错误 LNK2026 XXX模块对于 SAFESEH 映像是不安全的"

解决:

 

 

fatal error LNK1104: 无法打开文件“LIBC.lib”错误

解决:

 

 

 

编译出来几个demo的结果

 



 

 

 

 

体系结构一览

导入工程之后,结构是这样

 

Libmuli3d是底层的渲染层,里面实现了一个光栅化的流水线,可以把它当作是一个opengl或者DX这样的库,还包含了基础的几个数学类。

Libappframework是上层的应用层,提供了一个完整的游戏框架, 包括游戏循环,场景管理,输入管理等,这使得开发人员可以集中精力在游戏逻辑上, 而不用对关心各种细节实现.

 

Envsphere 应用,基于Libappframework实现的的上层应用,每一个应用在Muli3D中都是一个Application

 

下面是Application相关的类图

 

 

 

麻雀虽小五脏俱全,每一个Application都包含了下面几个模块

CFileiIO:文件读写

CGraphics:图形渲染

CScene:场景管理

Input:输入模块,这个模块根据平台的不同实现了三个不同的Input

CResManager:资源管理

 

 

一个应用的启动运行流程如下

 

 

 

 

小结

今天简单浏览了一下Muli3D的代码结结构,接下来会对库里的比较复杂的模块进行分析和解读。

0 0