public override void CreateScene()
{
// Register Compositor Logics
CompositorManager.Instance.RegisterCompositorLogic( "HDR", new HdrLogic() );
scene.ShadowTechnique = ShadowTechnique.TextureModulative;
scene.ShadowFarDistance = 1000;
scene.AmbientLight = new ColorEx( 0.3f, 0.3f, 0.2f );
Light light = scene.CreateLight( "Light2" );
Vector3 dir = new Vector3( -1, -1, 0 );
dir.Normalize();
light.Type = LightType.Directional;
light.Direction = dir;
light.Diffuse = new ColorEx( 1.0f, 1.0f, 0.8f );
light.Specular = new ColorEx( 1.0f, 1.0f, 1.0f );
Entity entity;
// House
entity = scene.CreateEntity( "1", "tudorhouse.mesh" );
SceneNode n1 = scene.RootSceneNode.CreateChildSceneNode( new Vector3( 350, 450, -200 ) );
n1.AttachObject( entity );
entity = scene.CreateEntity( "2", "tudorhouse.mesh" );
SceneNode n2 = scene.RootSceneNode.CreateChildSceneNode( new Vector3( -350, 450, -200 ) );
n2.AttachObject( entity );
entity = scene.CreateEntity( "3", "knot.mesh" );
_spinny = scene.RootSceneNode.CreateChildSceneNode( new Vector3( 0, 0, 300 ) );
_spinny.AttachObject( entity );
entity.MaterialName = "Examples/MorningCubeMap";
scene.SetSkyBox( true, "Examples/MorningSkyBox", 50 );
Plane plane = new Plane();
plane.Normal = Vector3.UnitY;
plane.D = 100;
MeshManager.Instance.CreatePlane( "Myplane", ResourceGroupManager.DefaultResourceGroupName, plane, 1500, 1500, 10, 10, true, 1, 5, 5, Vector3.UnitZ );
Entity planeEntity = scene.CreateEntity( "plane", "Myplane" );
planeEntity.MaterialName = "Examples/Rockwall";
planeEntity.CastShadows = false;
scene.RootSceneNode.CreateChildSceneNode().AttachObject( planeEntity );
camera.Position = new Vector3( -400, 50, 900 );
camera.LookAt( new Vector3( 0, 80, 0 ) );
/// Create a couple of hard coded postfilter effects as an example of how to do it
/// but the preferred method is to use compositor scripts.
_createEffects();
foreach ( string name in _compositorList )
{
CompositorManager.Instance.AddCompositor( this.window.GetViewport( 0 ), name );
}
//CompositorManager.Instance.SetCompositorEnabled(this.window.GetViewport(0),
// _compositorList[_compositorList.Length - 2],
// true);
CompositorManager.Instance.SetCompositorEnabled( this.window.GetViewport( 0 ),
_compositorList[ 0 ],
true );
}