void OgreWidget::setCameraPosition(const Ogre::Vector3 &pos) { ogreCamera->setPosition(pos); ogreCamera->lookAt(0,50,0); update(); emit cameraPositionChanged(pos); }
/*! * Sets the camera position to \a cameraPosition. */ void QSkyboxEntity::setCameraPosition(const QVector3D &cameraPosition) { Q_D(QSkyboxEntity); if (cameraPosition != d->m_position) { d->m_position = cameraPosition; d->m_translate->setTranslation(d->m_position); emit cameraPositionChanged(); } }
void Mg3dScene::setCameraPosition(const QVector3D & pos) { if(pos != cameraPosition()) { camera()->setEye(pos); updateGLContent(); Q_EMIT cameraPositionChanged(pos); } }
void OgreWidget::initOgreSystem() { ogreRoot = new Ogre::Root(); Ogre::RenderSystem *renderSystem = ogreRoot->getRenderSystemByName("OpenGL Rendering Subsystem"); ogreRoot->setRenderSystem(renderSystem); ogreRoot->initialise(false); ogreSceneManager = ogreRoot->createSceneManager(Ogre::ST_GENERIC); Ogre::NameValuePairList viewConfig; Ogre::String widgetHandle; #ifdef Q_WS_WIN widgetHandle = Ogre::StringConverter::toString((size_t)((HWND)winId())); #else QWidget *q_parent = dynamic_cast <QWidget *> (parent()); QX11Info xInfo = x11Info(); widgetHandle = Ogre::StringConverter::toString ((unsigned long)xInfo.display()) + ":" + Ogre::StringConverter::toString ((unsigned int)xInfo.screen()) + ":" + Ogre::StringConverter::toString ((unsigned long)q_parent->winId()); #endif viewConfig["externalWindowHandle"] = widgetHandle; ogreRenderWindow = ogreRoot->createRenderWindow("Ogre rendering window", width(), height(), false, &viewConfig); ogreCamera = ogreSceneManager->createCamera("myCamera"); Ogre::Vector3 camPos(0, 50,150); ogreCamera->setPosition(camPos); ogreCamera->lookAt(0,50,0); emit cameraPositionChanged(camPos); ogreViewport = ogreRenderWindow->addViewport(ogreCamera); ogreViewport->setBackgroundColour(Ogre::ColourValue(0,0,255)); ogreCamera->setAspectRatio(Ogre::Real(width()) / Ogre::Real(height())); setupNLoadResources(); createScene(); }