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的代码结结构,接下来会对库里的比较复杂的模块进行分析和解读。
- Muli3D源码分析(1) - 框架概览
- Nginx源码分析2-概览
- Muli3D <1> 下载与编译
- MiniGUI源码分析:GDI(1)-- GDI概览及Surface
- Glide源码分析1 - 框架
- OKHttp源码分析1 - 框架
- React源码分析1 -- 框架
- nginx源码分析(2)- 概览
- nginx源码分析(2)- 概览
- nginx源码分析(2)- 概览
- MiniGUI源码分析——消息概览
- Dubbo源码分析(一):概览
- Dubbo源码分析(一):概览
- 第6章1节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览
- HsqlDB源码学习——基本框架概览
- 深度学习框架Caffe源码解析(概览)
- Android源码/框架源码分析
- CloudFoundry源码分析:Service框架(1)
- 有关海量数据的处理简单总结
- C/C++struct的深层区别
- PAT-A 1049. Counting Ones
- 自定义我的拦截器
- Two Sum
- Muli3D源码分析(1) - 框架概览
- hdoj1213How Many Tables
- LeetCode Length of Last Word(最后一个单词的长度)
- BZOJ 1008 [HNOI2008]越狱
- PyGobject(七十三)Gtk.Widget之Gtk.SpinButton
- android Canvas的两种使用情形
- 51nod 1428 互不重叠的线段的组数
- SparseArray替代HashMap提高性能
- django direct_to_templat