Changeset 11129 for code/branches/ogre1.9/src/orxonox
- Timestamp:
- Mar 6, 2016, 3:32:26 PM (9 years ago)
- Location:
- code/branches/ogre1.9/src/orxonox
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/ogre1.9/src/orxonox/RenderQueueListener.cc
r11080 r11129 83 83 renderSystem->setStencilBufferParams(Ogre::CMPF_ALWAYS_PASS, 84 84 STENCIL_VALUE_FOR_GLOW, STENCIL_FULL_MASK, 85 #if OGRE_VERSION >= 0x010900 86 STENCIL_FULL_MASK, 87 #endif 85 88 Ogre::SOP_KEEP,Ogre::SOP_KEEP,Ogre::SOP_REPLACE,false); 86 89 } … … 91 94 renderSystem->setStencilBufferParams(Ogre::CMPF_NOT_EQUAL, 92 95 STENCIL_VALUE_FOR_GLOW, STENCIL_FULL_MASK, 96 #if OGRE_VERSION >= 0x010900 97 STENCIL_FULL_MASK, 98 #endif 93 99 Ogre::SOP_KEEP,Ogre::SOP_KEEP,Ogre::SOP_REPLACE,false); 94 100 } -
code/branches/ogre1.9/src/orxonox/controllers/NewHumanController.cc
r11071 r11129 397 397 try 398 398 { 399 wePtr = orxonox_cast<WorldEntity*>(Ogre::any_cast<OrxonoxClass*>(itr->movable->getUserAny())); 399 #if OGRE_VERSION >= 0x010900 400 const Ogre::Any& any = itr->movable->getUserObjectBindings().getUserAny(); 401 #else 402 const Ogre::Any& any = itr->movable->getUserAny(); 403 #endif 404 wePtr = orxonox_cast<WorldEntity*>(Ogre::any_cast<OrxonoxClass*>(any)); 400 405 } 401 406 catch (...) -
code/branches/ogre1.9/src/orxonox/graphics/Camera.cc
r9667 r11129 62 62 63 63 this->camera_ = this->getScene()->getSceneManager()->createCamera(getUniqueNumberString()); 64 static_cast<Ogre::MovableObject*>(this->camera_)->setUserAny(Ogre::Any(static_cast<OrxonoxClass*>(this))); 64 Ogre::MovableObject* movable = static_cast<Ogre::MovableObject*>(this->camera_); 65 #if OGRE_VERSION >= 0x010900 66 movable->getUserObjectBindings().setUserAny(Ogre::Any(static_cast<OrxonoxClass*>(this))); 67 #else 68 movable->setUserAny(Ogre::Any(static_cast<OrxonoxClass*>(this))); 69 #endif 65 70 this->cameraNode_ = this->getScene()->getRootSceneNode()->createChildSceneNode(); 66 71 this->attachNode(this->cameraNode_); -
code/branches/ogre1.9/src/orxonox/graphics/Model.cc
r11080 r11129 30 30 31 31 #include <OgreEntity.h> 32 #include <OgreProgressiveMesh.h> 32 #if OGRE_VERSION >= 0x010900 33 # include <OgreProgressiveMeshGenerator.h> 34 # include <OgreDistanceLodStrategy.h> 35 #else 36 # include <OgreProgressiveMesh.h> 37 #endif 33 38 34 39 #include "core/CoreIncludes.h" … … 196 201 { 197 202 float volume = this->mesh_.getEntity()->getBoundingBox().volume(); 198 /*199 float scaleFactor = 1;200 201 BaseObject* creatorPtr = this;202 203 while(creatorPtr!=nullptr&&orxonox_cast<WorldEntity*>(creatorPtr))204 {205 scaleFactor *= getBiggestScale(((WorldEntity*) creatorPtr)->getScale3D());206 creatorPtr = creatorPtr->getCreator();207 }208 orxout() << "name: " << this->meshSrc_ << "scaleFactor: " << scaleFactor << ", volume: " << volume << endl;209 */210 203 orxout(verbose, context::lod) << "Setting lodLevel for " << this->meshSrc_<< " with lodLevel_: " << this->lodLevel_ <<" and volume: "<< volume << ":" << endl; 211 204 212 #if OGRE_VERSION >= 0x010800 205 #if OGRE_VERSION >= 0x010900 206 Ogre::LodConfig::LodLevelList distList; 207 #elif OGRE_VERSION >= 0x010800 213 208 Ogre::ProgressiveMesh::LodValueList distList; 214 209 #elif OGRE_VERSION >= 0x010700 … … 220 215 if( lodLevel_>0 ) 221 216 { 222 // float factor = scaleFactor*5/lodLevel_;223 217 float factor = pow(volume, 2.0f / 3.0f) * 15.0f / lodLevel_; 224 218 225 219 orxout(verbose, context::lod) << "LodLevel set with factor: " << factor << endl; 226 220 227 distList.push_back(70.0f*factor);228 distList.push_back(140.0f*factor);229 distList.push_back(170.0f*factor);230 distList.push_back(200.0f*factor);231 distList.push_back(230.0f*factor);232 distList.push_back(250.0f*factor);233 distList.push_back(270.0f*factor);234 distList.push_back(290.0f*factor);235 distList.push_back(310.0f*factor);236 distList.push_back(330.0f*factor);221 addLodDistanceToList(distList, 70.0f*factor); 222 addLodDistanceToList(distList, 140.0f*factor); 223 addLodDistanceToList(distList, 170.0f*factor); 224 addLodDistanceToList(distList, 200.0f*factor); 225 addLodDistanceToList(distList, 230.0f*factor); 226 addLodDistanceToList(distList, 250.0f*factor); 227 addLodDistanceToList(distList, 270.0f*factor); 228 addLodDistanceToList(distList, 290.0f*factor); 229 addLodDistanceToList(distList, 310.0f*factor); 230 addLodDistanceToList(distList, 330.0f*factor); 237 231 while(distList.size()>this->numLodLevels_) 238 232 distList.pop_back(); … … 240 234 241 235 //Generiert LOD-Levels 242 #if OGRE_VERSION >= 0x010800 236 #if OGRE_VERSION >= 0x010900 237 Ogre::LodConfig config; 238 config.mesh = this->mesh_.getEntity()->getMesh(); 239 config.levels = distList; 240 config.strategy = Ogre::DistanceLodSphereStrategy::getSingletonPtr(); 241 242 Ogre::ProgressiveMeshGenerator generator; 243 generator.generateLodLevels(config); 244 #elif OGRE_VERSION >= 0x010800 243 245 Ogre::ProgressiveMesh::generateLodLevels(this->mesh_.getEntity()->getMesh().get(), distList, Ogre::ProgressiveMesh::VRQ_PROPORTIONAL, 244 246 this->lodReductionRate_); … … 263 265 #endif 264 266 } 267 268 template <class T> 269 void Model::addLodDistanceToList(T& list, float distance) 270 { 271 #if OGRE_VERSION >= 0x010900 272 list.push_back({distance, Ogre::LodLevel::VRM_COLLAPSE_COST, this->lodReductionRate_, 0, false}); 273 #else 274 list.push_back(distance); 275 #endif 276 } 265 277 } -
code/branches/ogre1.9/src/orxonox/graphics/Model.h
r11128 r11129 114 114 void enableLod(); 115 115 116 template <class T> 117 void addLodDistanceToList(T& list, float distance); 118 116 119 inline void setLodLevel(float lodLevel) 117 120 { this->lodLevel_ = lodLevel; } -
code/branches/ogre1.9/src/orxonox/overlays/InGameConsole.cc
r11071 r11129 32 32 #include <algorithm> 33 33 #include <string> 34 #include <OgreOverlay.h> 35 #include <OgreOverlayElement.h> 36 #include <OgreOverlayManager.h> 37 #include <OgreOverlayContainer.h> 38 #include <OgreBorderPanelOverlayElement.h> 39 #include <OgreTextAreaOverlayElement.h> 40 #include <OgreFontManager.h> 41 #include <OgreFont.h> 34 #include <OgrePrerequisites.h> 35 #if OGRE_VERSION >= 0x010900 36 # include <Overlay/OgreOverlay.h> 37 # include <Overlay/OgreOverlayElement.h> 38 # include <Overlay/OgreOverlayManager.h> 39 # include <Overlay/OgreOverlayContainer.h> 40 # include <Overlay/OgreBorderPanelOverlayElement.h> 41 # include <Overlay/OgreTextAreaOverlayElement.h> 42 # include <Overlay/OgreFontManager.h> 43 # include <Overlay/OgreFont.h> 44 #else 45 # include <OgreOverlay.h> 46 # include <OgreOverlayElement.h> 47 # include <OgreOverlayManager.h> 48 # include <OgreOverlayContainer.h> 49 # include <OgreBorderPanelOverlayElement.h> 50 # include <OgreTextAreaOverlayElement.h> 51 # include <OgreFontManager.h> 52 # include <OgreFont.h> 53 #endif 42 54 43 55 #include "util/Clock.h" -
code/branches/ogre1.9/src/orxonox/overlays/OrxonoxOverlay.cc
r11099 r11129 35 35 36 36 #include <cmath> 37 #include <OgreOverlay.h> 38 #include <OgreOverlayManager.h> 39 #include <OgrePanelOverlayElement.h> 37 #if OGRE_VERSION >= 0x010900 38 # include <Overlay/OgreOverlay.h> 39 # include <Overlay/OgreOverlayManager.h> 40 # include <Overlay/OgrePanelOverlayElement.h> 41 #else 42 # include <OgreOverlay.h> 43 # include <OgreOverlayManager.h> 44 # include <OgrePanelOverlayElement.h> 45 #endif 40 46 #include <OgreRenderWindow.h> 41 47 #include <OgreMaterialManager.h> -
code/branches/ogre1.9/src/orxonox/worldentities/WorldEntity.cc
r11083 r11129 548 548 { 549 549 this->node_->attachObject(object); 550 #if OGRE_VERSION >= 0x010900 551 object->getUserObjectBindings().setUserAny(Ogre::Any(static_cast<OrxonoxClass*>(this))); 552 #else 550 553 object->setUserAny(Ogre::Any(static_cast<OrxonoxClass*>(this))); 554 #endif 551 555 } 552 556 … … 563 567 void WorldEntity::detachOgreObject(Ogre::MovableObject* object) 564 568 { 569 #if OGRE_VERSION >= 0x010900 570 object->getUserObjectBindings().setUserAny(Ogre::Any(static_cast<OrxonoxClass*>(nullptr))); 571 #else 565 572 object->setUserAny(Ogre::Any(static_cast<OrxonoxClass*>(nullptr))); 573 #endif 566 574 this->node_->detachObject(object); 567 575 }
Note: See TracChangeset
for help on using the changeset viewer.