IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

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

    qp120291570发表于 2016-08-01 13:18:29
    love 0

    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的代码结结构,接下来会对库里的比较复杂的模块进行分析和解读。



沪ICP备19023445号-2号
友情链接