OGRE源代码resource分析

在载入模型和运行游戏的过程中资源的载入是一个很重要的过程,这些资源一般包括,texture,font,material,skeleton,等等,这些都是资源,都有一定的共同的特征,于是很自然的想到使用一个基类来派生这些类,从而达到简化开发和维护的目的。image

这是ogre中resource的继承关系图,可以很明显的看到所有的具体资源类都是派生自一个基类Resource,现在来看看resource中都包含什么样的信息。

image

这是Resource的public资源,全部都是虚函数,所以这些内容一般都会在接下来的类中得以调用。

在分析源代码的过程中有两个类是很奇怪的类,一个是singleton。这个类的定义很简单

只是返回了一个实例化的模板,这种方法一般用在只想创建一个只是用一次的实例,不想为这个实例定义一个名字,在这种情况下就可以使用这种方法。

还有一个比较奇怪的类是

AtomicScalar,这个类的作用也没有说明让人觉得很是奇怪,因为其中调用了一些gcc内部的built-in函数,这些函数的作用就不解释了。怎么通过的编译呢?在windows下,很奇怪。

基本上来说resource就是定义了很多基础的函数。供以后的各种派生类使用。

接下来要开始看资源派生类中最重要的一个skeleton类。

原文地址:https://www.cnblogs.com/long0x0/p/2517807.html