mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-02-10 21:40:15 +00:00
Don't assume one sub-entity for the night sky entities
This commit is contained in:
parent
ab35bfa32c
commit
f67983bbee
@ -316,22 +316,25 @@ void SkyManager::create()
|
||||
// Stars
|
||||
mAtmosphereNight = mRootNode->createChildSceneNode();
|
||||
NifOgre::EntityList entities = NifOgre::NIFLoader::createEntities(mAtmosphereNight, "meshes\\sky_night_01.nif");
|
||||
for(size_t i = 0;i < entities.mEntities.size();i++)
|
||||
for(size_t i = 0, matidx = 0;i < entities.mEntities.size();i++)
|
||||
{
|
||||
Entity* night1_ent = entities.mEntities[i];
|
||||
night1_ent->setRenderQueueGroup(RQG_SkiesEarly+1);
|
||||
night1_ent->setVisibilityFlags(RV_Sky);
|
||||
night1_ent->setCastShadows(false);
|
||||
|
||||
std::string matName = "openmw_stars_" + boost::lexical_cast<std::string>(i);
|
||||
for (unsigned int j=0; j<night1_ent->getNumSubEntities(); ++j)
|
||||
{
|
||||
std::string matName = "openmw_stars_" + boost::lexical_cast<std::string>(matidx++);
|
||||
sh::MaterialInstance* m = sh::Factory::getInstance().createMaterialInstance(matName, "openmw_stars");
|
||||
|
||||
std::string textureName = sh::retrieveValue<sh::StringValue>(
|
||||
sh::Factory::getInstance().getMaterialInstance(night1_ent->getSubEntity (0)->getMaterialName ())->getProperty("diffuseMap"), NULL).get();
|
||||
sh::Factory::getInstance().getMaterialInstance(night1_ent->getSubEntity(j)->getMaterialName())->getProperty("diffuseMap"), NULL).get();
|
||||
|
||||
m->setProperty("texture", sh::makeProperty<sh::StringValue>(new sh::StringValue(textureName)));
|
||||
|
||||
night1_ent->getSubEntity(0)->setMaterialName (matName);
|
||||
night1_ent->getSubEntity(j)->setMaterialName(matName);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user