Ejemplo n.º 1
0
void OgreWidget::setCameraPosition(const Ogre::Vector3 &pos)
{
        ogreCamera->setPosition(pos);
        ogreCamera->lookAt(0,50,0);
    update();
    emit cameraPositionChanged(pos);
}
Ejemplo n.º 2
0
/*!
 * 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();
    }
}
Ejemplo n.º 3
0
void Mg3dScene::setCameraPosition(const QVector3D & pos)
{
	if(pos != cameraPosition())
	{
		camera()->setEye(pos);
		updateGLContent();
		Q_EMIT cameraPositionChanged(pos);
	}
}
Ejemplo n.º 4
0
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();
}