惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
J
Java Code Geeks
MongoDB | Blog
MongoDB | Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Blog — PlanetScale
Blog — PlanetScale
A
About on SuperTechFans
Engineering at Meta
Engineering at Meta
美团技术团队
N
Netflix TechBlog - Medium
月光博客
月光博客
博客园 - 三生石上(FineUI控件)
F
Fortinet All Blogs
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
MyScale Blog
MyScale Blog
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
The Cloudflare Blog
量子位
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
DataBreaches.Net
H
Hackread – Cybersecurity News, Data Breaches, AI and More

博客园 - Cool_IT_Cool_Man

如何向MyEclipse项目的文件夹中添加JSP页面? JavaScript调试工具 MyEclipse中如何安装插件(以Subclipse为例)[转] s:textarea中的文本内容在什么时候才能被赋值给Action中的属性? 由 s:hidden 引起的文本框内容不能传到 struts的Action中 在Eclipse工作空间中移除再添加项目的方法 在Eclipse工作空间中创建新项目的方法 Visual Studio 使用常见问题 如何阅读C++源代码 《Ogre 3D 游戏开发框架指南》配套光盘的一个小瑕疵 类型安全·异常安全·线程安全 如何使用Eclipse从Subversion源码服务器下载源码? UltraEdit不能对Matlab的M文件进行语法高亮显示问题的解决 JessDE 在 Eclipse中不能正确安装的问题 UltraEdit的语法高亮文件网址 如何配置SWRLJess Tab? 编程经验小结 如何在Protege3.4中安装graphviz以便在protege中使用OwlvizTab? 语义网的学习资源大汇集(转载)
Orz游戏开发框架阅读笔记(一)
Cool_IT_Cool_Man · 2011-08-20 · via 博客园 - Cool_IT_Cool_Man

      Orz是邸锐(免费打工仔)开发的游戏框架,我阅读的版本是书籍《Ogre 3D游戏开发框架指南》的配套光盘中的OrzSource。我是和书籍一起对照来读的。

    在读Orz源代码时,最好首先用CMake将源代码生成Visual C++ (2005或以上)的工程文件。这样可以在VC的集成环境中来读源代码,效率会提高很多。

Orz的源代码主要包括8个源代码文件夹,它们是Controller_BaseController_Win32Framework_BaseModel_BaseToolkit_BaseView_FmodView_OGRE3DView_OIS。其中,Controller_BaseController_Win32只包含mainWinMain等程序入口文件,对整个框架的功能没有影响;Model_Base是一个插件,它是动态链接库的形式,Model_Base建立了一个简单的游戏逻辑,这个游戏逻辑通过插件的方式可以加载到程序中来(当加载其它插件时,要以Model_Base这个插件为基础,请参考书籍《Ogre3D游戏开发框架指南》的配套光盘第3周的程序)View_FmodView_OGRE3DView_OIS这三个文件夹是orz框架对音频、图形引擎和输入输出函数的封装或适配,提供其他模块所需要的相关功能;Orz源代码中最核心的文件夹是Framework_BaseToolkit_Base

除了上面8个源代码文件夹外,还有其它一些文件夹。bin文件夹可以放编译后的dll文件,cmake文件夹存放CMake编译相关的文件,media文件夹可以放与游戏有关的一些媒质文件。值得注意的是orz文件夹,orz文件夹包含5个子文件夹,子文件夹中都是.h文件。如果使用orz框架开发游戏程序,应该将orz文件夹中所有的头文件都包含进去。从orz文件夹的头文件中也可看出orz框架向游戏程序提供的主要功能。

 下面来看Orz源码最核心的两个文件夹ToolKit_BaseFramework_Base。这两个文件夹中供Orz以外程序调用的头文件都在前面所述的Orz子文件夹中,在两个文件夹下只有include子文件夹和src子文件夹,所有实现文件都在src子文件夹中。

         我们先来研究Toolkit_Base文件夹,顾名思义,这个文件夹存放的是Orz框架使用的程序工具。在src子文件夹下,有5文件夹,分别是DynLibManagerEventSystemIDManagerLogManagerTimerManager,相应地,这几个文件夹下的实现文件主要完成插件管理、消息系统、ID管理器、日志管理器和计时器管理器等功能。(因为.h文件分布在几个不同文件夹中,不太好寻找,我们只需阅读.cpp文件即可,在阅读.cpp文件的过程中,根据需要再去阅读相关的.h文件)