在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,是基于無光照的白色材質。