• 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个代码文件。

  • 相关阅读:
    二级域名怎么设置阿里云
    Datatable 转换 Dictionary
    mysql查询某一个字段是否包含中文字符
    mysql update select 从查询结果中更新数据
    sql 查找重复数据,并且重复数据有子集
    mysql中key 、primary key 、unique key 与index区别
    mysql添加删除索引,查看某个表的建表语句
    优化你的服务器Apache、MySQL、PHP
    JQUERY多选框,单选框,检查选中的值
    jquery上传插件uploadify使用详解
  • 原文地址:https://www.cnblogs.com/MuSmile/p/5341736.html
Copyright © 2020-2023  润新知