在Ogre里面有三个material,是被Ogre内置创建的。
他们分别为:DefaultSettings,BaseWhite,BaseWhiteNoLighting。
他们在MaterialManager::initialise()中被创建。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2ZuUmbv50LcNncvRXYjlGZul0ZulmbpxGd190LcNXZnFWbJ9CXt92Yuc2bsJGcwNmL3d3dvw1LcpDc0RHaiojIsJye.gif)
void MaterialManager::initialise(void)
{
// Set up default material - don't use name contructor as we want to avoid applying defaults
mDefaultSettings = create("DefaultSettings", ResourceGroupManager::INTERNAL_RESOURCE_GROUP_NAME);
// Add a single technique and pass, non-programmable
mDefaultSettings->createTechnique()->createPass();
// Set up a lit base white material
create("BaseWhite", ResourceGroupManager::INTERNAL_RESOURCE_GROUP_NAME);
// Set up an unlit base white material
MaterialPtr baseWhiteNoLighting = create("BaseWhiteNoLighting",
ResourceGroupManager::INTERNAL_RESOURCE_GROUP_NAME);
baseWhiteNoLighting->setLightingEnabled(false);
}
由代码可知:
DefaultSettings是默认的材质,如果没有使用材质名就使用的它。
BaseWhite,是基于光照的白色材质,事实上DefaultSettings的材质就是它;
BaseWhiteNoLighting,是基于无光照的白色材质。