天天看点

Ogre的三种内置的材质

在Ogre里面有三个material,是被Ogre内置创建的。

他们分别为:DefaultSettings,BaseWhite,BaseWhiteNoLighting。

他们在MaterialManager::initialise()中被创建。

Ogre的三种内置的材质

    void MaterialManager::initialise(void)

Ogre的三种内置的材质

    {

Ogre的三种内置的材质

        // Set up default material - don't use name contructor as we want to avoid applying defaults

Ogre的三种内置的材质

        mDefaultSettings = create("DefaultSettings", ResourceGroupManager::INTERNAL_RESOURCE_GROUP_NAME);

Ogre的三种内置的材质

        // Add a single technique and pass, non-programmable

Ogre的三种内置的材质

        mDefaultSettings->createTechnique()->createPass();

Ogre的三种内置的材质
Ogre的三种内置的材质

        // Set up a lit base white material

Ogre的三种内置的材质

        create("BaseWhite", ResourceGroupManager::INTERNAL_RESOURCE_GROUP_NAME);

Ogre的三种内置的材质

        // Set up an unlit base white material

Ogre的三种内置的材质

        MaterialPtr baseWhiteNoLighting = create("BaseWhiteNoLighting",

Ogre的三种内置的材质

            ResourceGroupManager::INTERNAL_RESOURCE_GROUP_NAME);

Ogre的三种内置的材质

        baseWhiteNoLighting->setLightingEnabled(false);

Ogre的三种内置的材质
Ogre的三种内置的材质

    }

由代码可知:

DefaultSettings是默认的材质,如果没有使用材质名就使用的它。

BaseWhite,是基于光照的白色材质,事实上DefaultSettings的材质就是它;

BaseWhiteNoLighting,是基于无光照的白色材质。