protected void SetupScene()
{
// Set ambient light
SceneManager.AmbientLight = new ColorEx( 0.3f, 0.3f, 0.3f );
SceneManager.SetSkyBox( true, "SkyBox", 1000 );
mainNode = SceneManager.RootSceneNode.CreateChildSceneNode();
for ( int i = 0; i < NumLights; ++i )
{
lightPivots[ i ] = SceneManager.RootSceneNode.CreateChildSceneNode();
lightPivots[ i ].Rotate( lightRotationAxes[ i ], lightRotationAngles[ i ] );
// Create a light, use default parameters
lights[ i ] = SceneManager.CreateLight( "Light" + i );
lights[ i ].Position = lightPositions[ i ];
lights[ i ].Diffuse = diffuseLightColors[ i ];
lights[ i ].Specular = specularLightColors[ i ];
lights[ i ].IsVisible = lightState[ i ];
//lights[i]->setAttenuation(400, 0.1 , 1 , 0);
// Attach light
lightPivots[ i ].AttachObject( lights[ i ] );
// Create billboard for light
lightFlareSets[ i ] = SceneManager.CreateBillboardSet( "Flare" + i );
lightFlareSets[ i ].MaterialName = "LightFlare";
lightPivots[ i ].AttachObject( lightFlareSets[ i ] );
lightFlares[ i ] = lightFlareSets[ i ].CreateBillboard( lightPositions[ i ] );
lightFlares[ i ].Color = diffuseLightColors[ i ];
lightFlareSets[ i ].IsVisible = lightState[ i ];
}
// move the camera a bit right and make it look at the knot
Camera.MoveRelative( new Vector3( 50,0, 100 ) );
Camera.LookAt( new Vector3( 0, 10, 0 ) );
// Define a plane mesh that will be used for the ocean surface
Plane oceanSurface = new Plane( Vector3.UnitY, 20 );
MeshManager.Instance.CreatePlane( "OceanSurface",
ResourceGroupManager.DefaultResourceGroupName,
oceanSurface,
1000, 1000, 50, 50, true, 1, 1, 1, Vector3.UnitZ );
oceanSurfaceEnt = SceneManager.CreateEntity( "OceanSurface", "OceanSurface" );
SceneManager.RootSceneNode.CreateChildSceneNode().AttachObject( oceanSurfaceEnt );
oceanSurfaceEnt.MaterialName = materialControlsContainer[ 0 ].MaterialName;
}