Exemple #1
0
void
TestScene5::runOgre()
{
	// initialize framework & open window
	Ogre::Root* root = new Ogre::Root();
	root->restoreConfig();
	root->initialise(false);
	auto window = root->createRenderWindow("Ogre RenderWindow", 800, 600, false);
	auto sceneMgr = root->createSceneManager(Ogre::ST_GENERIC);
	// adjust camera
	auto cam1 = sceneMgr->createCamera("cam1");
	auto camNode1 = sceneMgr->getRootSceneNode()->createChildSceneNode("camnode1");
	cam1->setNearClipDistance(5);
	camNode1->attachObject(cam1);
	camNode1->setPosition(100, 100, 100);
	camNode1->lookAt(Ogre::Vector3(-1, -1, -1), Ogre::Node::TS_LOCAL);
	window->addViewport(cam1);
	// load & integrate model
	root->addResourceLocation("./resources/Ogre", "FileSystem");
	Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
	auto model = sceneMgr->createEntity("model", "alexandria.mesh");
	auto modelNode = sceneMgr->getRootSceneNode()->createChildSceneNode();
	modelNode->attachObject(model);
	// position model
	modelNode->setPosition(-100, -100, -100);
	// loop
	runOgreLoop(root);
}
Exemple #2
0
 void Window::frameStart( const eq::uint128_t& frameID, const uint32_t frameNumber )
 {
     if (!_ogreInitialised){
         addViewport();
         _ogreInitialised = true;
     }
     eq::Window::frameStart( frameID, frameNumber );
 }
Exemple #3
0
void
TestScene12::runOgre()
{
	// initialize framework & open window
	Ogre::Root* root = new Ogre::Root();
	root->restoreConfig();
	root->initialise(false);
	auto window = root->createRenderWindow("Ogre RenderWindow", 800, 600, false);
	auto sceneMgr = root->createSceneManager(Ogre::ST_GENERIC);
	// adjust camera
	auto cam1 = sceneMgr->createCamera("cam1");
	auto camNode1 = sceneMgr->getRootSceneNode()->createChildSceneNode("camnode1");
	cam1->setNearClipDistance(5);
	camNode1->attachObject(cam1);
	camNode1->setPosition(Ogre::Vector3(100, 100, 100));
	camNode1->lookAt(Ogre::Vector3(-1, -1, -1), Ogre::Node::TS_LOCAL);
	window->addViewport(cam1);
	// load & integrate model
	root->addResourceLocation("./resources/Ogre", "FileSystem");
	Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
	Mesh_Cube M(1);
	M.createMesh("cube");
	Ogre::SceneNode* groups[ROWS];
	std::list<Ogre::SceneNode*> nodes;
	for (int i = 0; i < ROWS; i++)
	{
		groups[i] = sceneMgr->getRootSceneNode()->createChildSceneNode();
		nodes.push_back(groups[i]);
	}
	for (int i = 0; i < ROWS * COLS; i++)
	{
		auto node = groups[i % ROWS]->createChildSceneNode();
		node->attachObject(sceneMgr->createEntity(std::string("model") + boost::lexical_cast<std::string>(i), "cube"));
		node->setPosition(
			camNode1->getOrientation() * -Ogre::Vector3::UNIT_X * LEFT(i)
			+ camNode1->getOrientation() * Ogre::Vector3::UNIT_Y * UP(i)
		);
	}
	root->addFrameListener(new MoveObjectTask_Ogre12(nodes));
	// loop
	runOgreLoop(root);
}
Exemple #4
0
void
TestScene3::runOgre()
{
	// initialize framework & open window
	Ogre::Root* root = new Ogre::Root();
	root->restoreConfig();
	root->initialise(false);
	auto window = root->createRenderWindow("Ogre RenderWindow", 800, 600, false);
	auto sceneMgr = root->createSceneManager(Ogre::ST_GENERIC);
	// adjust camera
	auto cam1 = sceneMgr->createCamera("cam1");
	auto camNode1 = sceneMgr->getRootSceneNode()->createChildSceneNode("camnode1");
	cam1->setNearClipDistance(5);
	camNode1->attachObject(cam1);
	camNode1->setPosition(100, 100, 100);
	camNode1->lookAt(Ogre::Vector3(-1, -1, -1), Ogre::Node::TS_LOCAL);
	window->addViewport(cam1);
	// loop
	runOgreLoop(root);
}
Exemple #5
0
Error
OGREGraphicsObjectCamera::Initialize(
    std::vector<Properties::Property> Properties
    )
{
    Error Err = Errors::Failure;

    ASSERT( !m_bInitialized );

    //
    // Call the base class.
    //
    OGREGraphicsObject::Initialize( Properties );

    //
    // Create the camera.
    //
    m_pCamera = POGRESCENEMGR->createCamera( m_pszName );
    ASSERT( m_pCamera != NULL );

    if ( m_pCamera != nullptr )
    {
        //
        // Create the viewport.
        //
        auto pRenderWindow = PSYSTEM->GetOGRERenderWindow();
        m_pViewport = pRenderWindow->addViewport( m_pCamera );
        ASSERT( m_pViewport != NULL );

        if ( m_pViewport != nullptr )
        {
            m_pViewport->setBackgroundColour( Ogre::ColourValue( 0, 0, 0 ) );
            m_PolygonMode = PolygonMode_Solid;

            //
            // Set the camera's aspect ratio to the dimensions of the viewport.
            //
            m_pCamera->setAspectRatio( Ogre::Real( m_pViewport->getActualWidth() ) /
                                       Ogre::Real( m_pViewport->getActualHeight() ));

            //
            // Attach the camera to the Ogre scene node. 
            //
            m_pNode->attachObject( m_pCamera );
            m_pNode->hideBoundingBox( true );

            //
            // Set this set as initialized.
            //
            m_bInitialized = True;

            //
            // Set the properties for this object.
            //
            SetProperties( Properties );

            Err = Errors::Success;
        }
    }
    
    m_Modified = System::Changes::None;

    return Err;
}
Exemple #6
-1
void Game::initGame()
{
	clearWorms();
	clearViewports();
	
	bonuses.clear();
	wobjects.clear();
	sobjects.clear();
	bobjects.clear();
	nobjects.clear();
	
	Worm* worm1 = new Worm(&game.settings.wormSettings[0], 0, 19);
	Worm* worm2 = new Worm(&game.settings.wormSettings[1], 1, 20);
	
	addViewport(new Viewport(Rect(0, 0, 158, 158), worm1, 0, 504, 350));
	addViewport(new Viewport(Rect(160, 0, 158+160, 158), worm2, 218, 504, 350));
	
	addWorm(worm1);
	addWorm(worm2);
	
	// TODO: Move as much of this as possible into the Worm ctor
	for(std::size_t i = 0; i < worms.size(); ++i)
	{
		Worm& w = *worms[i];
		w.makeSightGreen = false;
		w.lives = game.settings.lives;
		w.ready = true;
		w.movable = true;
		
		if(game.rand(2) > 0)
		{
			w.aimingAngle = itof(32);
			w.direction = 0;
		}
		else
		{
			w.aimingAngle = itof(96);
			w.direction = 1;
		}

		w.health = w.settings->health;
		w.visible = false;
		w.killedTimer = 150;
		
		w.currentWeapon = 1; // This is later changed to 0, why is it here?

/* Done in WormWeapon ctor
		for(int i = 0; i < game.settings.selectableWeapons; ++i)
		{
			w.weapons[i].available = true;
			w.weapons[i].delayLeft = 0;
			w.weapons[i].ammo = 0;
			
		}*/
	}
	
	gotChanged = false;
	lastKilled = 0;
}