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) - 框架概览相关推荐

  1. 【OkHttp】OkHttp 源码分析 ( 网络框架封装 | OkHttp 4 迁移 | OkHttp 建造者模式 )

    OkHttp 系列文章目录 [OkHttp]OkHttp 简介 ( OkHttp 框架特性 | Http 版本简介 ) [OkHttp]Android 项目导入 OkHttp ( 配置依赖 | 配置 ...

  2. SpringMVC源码分析_框架原理图

                                                                                 SpringMVC源码分析_框架原理图     ...

  3. Activiti源码分析(框架、核心类。。。)

    Activiti源码分析(框架.核心类...) 目录 概 述 activiti源码分析(一)设计模式 总结: 相关工具如下: 分析: 小结: 参考资料和推荐阅读 LD is tigger foreve ...

  4. [Abp vNext 源码分析] - 1. 框架启动流程分析

    一.简要说明 本篇文章主要剖析与讲解 Abp vNext 在 Web API 项目下的启动流程,让大家了解整个 Abp vNext 框架是如何运作的.总的来说 ,Abp vNext 比起 ABP 框架 ...

  5. Scrapy-redis 源码分析 及 框架使用

    From:https://blog.csdn.net/weixin_37947156/article/details/75044971 From:https://cuiqingcai.com/6058 ...

  6. ThinkPHP5.1.x 框架源码分析之框架的灵魂

    一.类的自动加载初始 框架的灵魂,类的自动加载 为什么说是框架灵魂呢,一般框架都会有类的自动加载,当引入文件很多的时候,就会需要用到.这一个也是很多人想去阅读源码时卡住的点 源码阅读 打开到入口文件 ...

  7. android animatorset 监听,Android源码分析--动画框架AnimatorSet

    这一节,我要介绍的是AnimatorSet. 一提到android的动画,一定会涉及到AnimatorSet,因为他太好用了.它所封装的接口让很多复杂的动画叠加变得容易. AnimatorSet是继承 ...

  8. jQuery源码分析 整体框架部分及部分常用方法

    最近尝试看看jQuery的源码. 版本 version = "1.11.1" 相对于看一本jQuery如何使用的书,看jQuery源码对它可以有更深层次的理解.jQuery中大量使 ...

  9. php 框架源码分析,Laravel框架源码解析之模型Model原理与用法解析

    本文实例讲述了Laravel框架源码解析之模型Model原理与用法.分享给大家供大家参考,具体如下: 前言 提前预祝猿人们国庆快乐,吃好.喝好.玩好,我会在电视上看着你们. 根据单一责任开发原则来讲, ...

最新文章

  1. model.fit以及model.fit_generator区别及用法
  2. 数字语音信号处理学习笔记——语音信号的短时时域分析(4)
  3. linux如何判断光盘是否挂载,LInux下如何挂载光盘找rpm包的方法步骤
  4. verilog读写文件(整理)
  5. 白内障预防+手术中人工晶状体的选择
  6. 爬虫遇到路径转换的解决方案
  7. 基础算法 —— 模拟思维
  8. java 封装结果集_java封装结果集
  9. CAN笔记(6) CAN协议(一)
  10. 【Python数据分析】时间序列分析——AR/MA/ARMA/ARIMA
  11. AdvancedInstaller.com 命令行参数
  12. Vue —— 移动端添加 fastclick
  13. 【数据仓库】 BI 项目管理之角色和职责
  14. Python分词、情感分析工具SnowNLP使用方法
  15. python如何编写温度转换_用python写温度转换
  16. 50条字面和实际意思大不同的英语
  17. iPhone 重大缺陷 存储空间耗尽后无法正常开机
  18. 超多版式运用手法!128张让你灵感爆发的海报设计
  19. Android Java 虚拟机
  20. Elasticsearch学习第二篇--常用的几种搜索方式

热门文章

  1. 简单实现点击图片放大的功能
  2. 在CentOS上安装和配置OpenNebula入门实例
  3. java pdf 签名 修改_java – 替换PDF中的签名内容
  4. 傅里叶变换的相关公式
  5. FME对CAD扩展属性的读写
  6. Web全栈~18.jQuery
  7. 车内看车头正不正技巧_史上最全:新手开车/停车技巧(真实图解)
  8. 【PTA】【C语言(一)】
  9. 快速排序详细图解分析(含代码示例)
  10. 最详细的QTabWidget的样式设置