- Timestamp:
- Dec 7, 2008, 4:18:11 AM (16 years ago)
- Location:
- code/branches/objecthierarchy2/src/orxonox/objects/worldentities
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/objecthierarchy2/src/orxonox/objects/worldentities/Backlight.cc
r2254 r2350 38 38 #include "core/XMLPort.h" 39 39 #include "objects/Scene.h" 40 #include "util/Exception.h" 40 41 41 42 namespace orxonox … … 59 60 if (Core::showsGraphics()) 60 61 { 61 assert(this->getScene()); 62 assert(this->getScene()->getSceneManager()); 63 assert(this->getScene()->getRootSceneNode()); 62 if (!this->getScene()) 63 ThrowException(AbortLoading, "Can't create Camera, no scene given."); 64 if (!this->getScene()->getSceneManager()) 65 ThrowException(AbortLoading, "Can't create Camera, no scene manager given."); 66 if (!this->getScene()->getRootSceneNode()) 67 ThrowException(AbortLoading, "Can't create Camera, no root scene node given."); 64 68 65 69 this->ribbonTrail_ = this->getScene()->getSceneManager()->createRibbonTrail(this->getNode()->getName()); -
code/branches/objecthierarchy2/src/orxonox/objects/worldentities/Camera.cc
r2171 r2350 37 37 #include <OgreSceneNode.h> 38 38 #include <OgreViewport.h> 39 #include <OgreCompositorManager.h> 40 #include <OgreResource.h> 39 41 40 42 #include "util/Exception.h" … … 42 44 #include "core/ConfigValueIncludes.h" 43 45 #include "objects/Scene.h" 46 #include "tools/Shader.h" 44 47 #include "CameraManager.h" 45 48 … … 75 78 { 76 79 this->releaseFocus(); 80 this->getScene()->getSceneManager()->destroyCamera(this->camera_); 77 81 } 78 82 } … … 122 126 void Camera::setFocus(Ogre::Viewport* viewport) 123 127 { 128 // This workaround is needed to avoid weird behaviour with active compositors while 129 // switching the camera (like freezing the image) 130 // 131 // Last known Ogre version needing this workaround: 132 // 1.4.8 133 134 // deactivate all compositors 135 { 136 Ogre::ResourceManager::ResourceMapIterator iterator = Ogre::CompositorManager::getSingleton().getResourceIterator(); 137 while (iterator.hasMoreElements()) 138 Ogre::CompositorManager::getSingleton().setCompositorEnabled(viewport, iterator.getNext()->getName(), false); 139 } 140 124 141 this->bHasFocus_ = true; 125 142 viewport->setCamera(this->camera_); 143 144 // reactivate all visible compositors 145 { 146 for (ObjectList<Shader>::iterator it = ObjectList<Shader>::begin(); it != ObjectList<Shader>::end(); ++it) 147 it->updateVisibility(); 148 } 126 149 } 127 150 }
Note: See TracChangeset
for help on using the changeset viewer.