//------------------------------------------------------------------------------ void Splash::render() { HGE * hge( m_engine->getHGE() ); hgeResourceManager * rm( m_engine->getResourceManager() ); int width( hge->System_GetState( HGE_SCREENWIDTH ) ); int height( hge->System_GetState( HGE_SCREENHEIGHT ) ); if ( m_timer > 0.0f && m_timer < 5.0f ) { m_engine->setColour( 0xFFFFFFFF ); _fade( 0.0f, 3.0f, 4.5f, 5.0f, "publisher" ); } else if ( m_timer > 5.0f && m_timer < 10.2f ) { m_engine->setColour( 0xFFFFFFFF ); _fade( 5.0f, 8.0f, 9.7f, 10.2f, "developer" ); } else if ( m_timer > 10.2f ) { m_engine->setColour( 0x00000000 ); m_mesh->Render( 0.5f * static_cast<float>( width - 640 ), 0.5f * static_cast<float>( height - 480 ) ); } if ( m_timer > 15.0f && static_cast<int>( m_timer ) % 3 != 0 ) { hgeFont * font( rm->GetFont( "menu" ) ); font->printf( 790.0f, 570.0f, HGETEXT_RIGHT, "press whatever..." ); } }
void Light::update() { if(_blinking) { _blink(); } if(_fading) { _fade(); } }
//----------------------------------------------------------------------- double Noise3D::_noise(double x, double y, double z) { int X = (int)floor(x) & 255; int Y = (int)floor(y) & 255; int Z = (int)floor(z) & 255; x -= floor(x); y -= floor(y); z -= floor(z); double u = _fade(x); double v = _fade(y); double w = _fade(z); int A = p[X ]+Y, AA = p[A]+Z, AB = p[A+1]+Z; int B = p[X+1]+Y, BA = p[B]+Z, BB = p[B+1]+Z; double lrp = _lerp(w, _lerp(v, _lerp(u, _grad(p[AA], x, y, z), _grad(p[BA], x-1, y, z)), _lerp(u, _grad(p[AB], x, y-1, z), _grad(p[BB], x-1, y-1, z))), _lerp(v, _lerp(u, _grad(p[AA+1], x, y , z-1), _grad(p[BA+1], x-1, y, z-1)), _lerp(u, _grad(p[AB+1], x, y-1, z-1), _grad(p[BB+1], x-1, y-1, z-1)))); return Ogre::Math::Abs((Ogre::Real)lrp); // Use absolute value, because lrp in between [-1, 1] }