Axiom.Demos.Terrain.OnFrameStarted C# (CSharp) Method

OnFrameStarted() protected method

protected OnFrameStarted ( object source, FrameEventArgs evt ) : void
source object
evt FrameEventArgs
return void
		protected override void OnFrameStarted( object source, FrameEventArgs evt )
		{
			float moveScale;
			float waterFlow;

			base.OnFrameStarted( source, evt );
			if ( evt.StopRendering )
				return;

			moveScale = 10 * evt.TimeSinceLastFrame;
			waterFlow = FLOW_SPEED * evt.TimeSinceLastFrame;

			if ( waterNode != null )
			{
				if ( flowUp )
				{
					flowAmount += waterFlow;
				}
				else
				{
					flowAmount -= waterFlow;
				}

				if ( flowAmount >= FLOW_HEIGHT )
				{
					flowUp = false;
				}
				else if ( flowAmount <= 0.0f )
				{
					flowUp = true;
				}

				waterNode.Translate( new Vector3( 0, flowUp ? waterFlow : -waterFlow, 0 ) );
			}
			if ( input.IsMousePressed( Axiom.Input.MouseButtons.Left ) )
			{
				float mouseX = (float)input.AbsoluteMouseX / (float)window.Width;
				float mouseY = (float)input.AbsoluteMouseY / (float)window.Height;

				Ray ray = camera.GetCameraToViewportRay( mouseX, mouseY );
				RaySceneQuery r = scene.CreateRayQuery( ray );
				foreach ( RaySceneQueryResultEntry re in r.Execute() )
				{
					if ( re.worldFragment != null )
						debugText = re.worldFragment.SingleIntersection.ToString();
				}
			}
		}
	}