Exemplo n.º 1
0
void CatalogApp::update()
{	
	if( getElapsedSeconds() - mMouseTimePressed < mMouseTimeThresh && !mMousePressed ){
		mMouseTimePressed = 0.0f;
		selectStar( mWasRightButtonLastClicked );
	}
	
	mRoom.update();
	
	if( mRoom.isPowerOn() ) mScaleDest -= ( mScaleDest - mMaxScale ) * 0.05f;
	mScale -= ( mScale - mScaleDest ) * 0.02f;
	mScalePer = mScale/mMaxScale;
	
	// CAMERA
	if( mHomeStar != NULL ){
		mSpringCam.setEye( mHomeStar->mPos + Vec3f( 100.0f, 0.0f, 40.0f ) );
	}
	
	if( mDestStar != NULL ){
		mSpringCam.setCenter( mDestStar->mPos );
	}

	if( mMousePressed ) 
		mSpringCam.dragCam( ( mMouseOffset ) * 0.01f, ( mMouseOffset ).length() * 0.01 );
	mSpringCam.update( 0.25f );
	
	BOOST_FOREACH( Star* &s, mBrightStars ){
		s->update( mSpringCam.getCam(), mScale );
	}
Exemplo n.º 2
0
void TerrainApp::update()
{	
	float x = mMouseRightPos.x - getWindowSize().x * 0.5f;
	float y = mSphere.getCenter().y;
	float z = mMouseRightPos.y - getWindowSize().y * 0.5f;
	mSpherePosDest = Vec3f( x, y, z );
	mSpherePos -= ( mSpherePos - mSpherePosDest ) * 0.02f;
	
	mSphere.setCenter( mSpherePos );
	
	// ROOM
	mRoom.update();
	
	mZoomMulti		-= ( mZoomMulti - mZoomMultiDest ) * 0.1f;
	
	gl::disableDepthRead();
	gl::disableDepthWrite();
	gl::color( Color( 1, 1, 1 ) );
	gl::disableAlphaBlending();
	
	// REACTION DIFFUSION
	mRd.update( mRoom.getTimeDelta(), &mRdShader, mGlowTex, mMouseRightDown, mSphere.getCenter().xz(), mZoomMulti );
	mRd.drawIntoHeightsFbo( &mHeightsShader, mTerrainScale );
	mRd.drawIntoNormalsFbo( &mNormalsShader );
	
	// ROOM
	drawIntoRoomFbo();
	
	// CAMERA
	if( mMouseLeftDown ) 
		mSpringCam.dragCam( ( mMouseOffset ) * 0.01f, ( mMouseOffset ).length() * 0.01 );
	mSpringCam.update( mRoom.getPower(), 0.5f );
}
Exemplo n.º 3
0
void ShadedSphereApp::update()
{
	// ROOM
	mRoom.update();

	// CAMERA
	if( mMousePressed ){
		mSpringCam.dragCam( ( mMouseOffset ) * 0.01f, ( mMouseOffset ).length() * 0.01 );
	}
	mSpringCam.update( 0.4f );

	// ROOM
	drawIntoRoomFbo();
}
Exemplo n.º 4
0
void BubbleChamberApp::update()
{
	// ROOM
	mRoom.update();
	
	// CAMERA
	if( mMousePressed )
		mSpringCam.dragCam( ( mMouseOffset ) * 0.02f, ( mMouseOffset ).length() * 0.02 );
	mSpringCam.update( 0.3f );

	// CONTROLLER
	mController.update();

	drawIntoRoomFbo();
}
Exemplo n.º 5
0
void RepulsionApp::update()
{
	mRoom.update();

	// CAMERA
	if( mMousePressed ) 
		mSpringCam.dragCam( ( mMouseOffset ) * 0.01f, ( mMouseOffset ).length() * 0.01 );
	mSpringCam.update( 1.0f );
	
	gl::disableDepthRead();
	gl::disableDepthWrite();
	gl::disableAlphaBlending();
	
	drawIntoVelocityFbo();
	drawIntoPositionFbo();
	drawIntoRoomFbo();
}