zoukankan      html  css  js  c++  java
  • Irrlicht_0.1源码学习(2)—引擎目录结构

    使用VS13打开Irrlicht源码后,在解决方案管理器中可以发现如下的目录架构

    可以看到该项目中包含7个目录和3个源码文件。

    doc目录包含的是文档信息

    其中只有Todo.txt一个文件,老司机们应该都知道是怎么一回事了(笑。

    include目录下包含5个子目录和6个头文件,如下所示

    从include包含的信息来看,整个引擎可分为6个模块:引擎模块(6个头文件)、引擎核心模块(core)、图形界面模块(gui)、输入输出模块(io)、场景管理模块(scene)、以及显示模块(video)。

    根据以上6个模块的划分,显而易见剩下的6个部分为:引擎初始化(3个代码文件)、图形界面(gui impl)、输入输出(io impl)、其它(other impl)、场景(scene impl)、显示(video)。PS:引擎核心模块(core)的实现部分其实就在其头文件中,并没有单独拎出来。

    other impl目录下包含了jepglib库和zlib库,但是并没有包含有效的代码文件,需要重新添加这两个库文件,否则直接编译源码会报错。

    jepglib库是一个jpeg压缩库,zlib是提供数据压缩用的函式库。讲道理这两个功能对我们学习Irrlicht源码没有什么举足轻重的意义,这里笔者就直接无视这两个库。

    fast_atof.h从文件名可得知:快速实现从字符串到浮点类型的数据转换。

    os.h/.cpp包含各种信息输出的功能,如系统警告信息或调试消息等。

    video impl目录下包含了DirectX、OpenGL等子目录。该模块对DirectX,OpenGL,和软渲染三种渲染方法进行了封装。

    由于笔者对DirectX不是很了解,故这一部分只对软渲染和OpenGL加以剖析。

    以上是对Irrlicht 0.1项目的文件目录结构分析的结果。统计了一下代码文件数量:include共含59个,io impl 12个,gui impl 26个,other impl 3个(不包含jepglib和zlib),scene impl 35个,video impl 45个,还有另外3个,总共183个代码文件。

  • 相关阅读:
    java实现倒计时
    javaweb启动时启动socket服务端
    二进制数与十六进制数之间如何互相转换
    分组查询最新时间的数据
    javaweb利用钉钉机器人向钉钉群推送消息(解决中文乱码)
    java利用钉钉机器人向钉钉群推送消息
    Java原生操作数据库(不使用框架)
    Mybatis 插入与批量插入以及多参数批量删除
    在spring中直接在类中注入dao
    web自动化测试实战之批量执行测试用例
  • 原文地址:https://www.cnblogs.com/MuSmile/p/5341736.html
Copyright © 2011-2022 走看看