public override void CreateScene()
{
// Create dynamic texture
ptex = TextureManager.Instance.CreateManual( "DynaTex", ResourceGroupManager.DefaultResourceGroupName, TextureType.TwoD, reactorExtent - 2, reactorExtent - 2, 0, PixelFormat.A8R8G8B8, TextureUsage.DynamicWriteOnly );
buffer = ptex.GetBuffer( 0, 0 );
// Set ambient light
scene.AmbientLight = new ColorEx( 0.6F, 0.6F, 0.6F );
scene.SetSkyBox( true, "SkyBox/Space", 50 );
//mRoot->getRenderSystem()->clearFrameBuffer(FBT_COLOUR, ColourValue(255,255,255,0));
// Create a light
Light l = scene.CreateLight( "MainLight" );
l.Diffuse = new ColorEx( 0.75F, 0.75F, 0.80F );
l.Specular = new ColorEx( 0.9F, 0.9F, 1F );
l.Position = new Vector3( -100, 80, 50 );
scene.RootSceneNode.AttachObject( l );
Entity planeEnt = scene.CreateEntity( "TexPlane1", PrefabEntity.Plane );
// Give the plane a texture
planeEnt.MaterialName = "Examples/DynaTest";
SceneNode node = scene.RootSceneNode.CreateChildSceneNode( new Vector3( -100, -40, -100 ) );
node.AttachObject( planeEnt );
node.Scale = new Vector3( 3.0f, 3.0f, 3.0f );
// Create objects
SceneNode blaNode = scene.RootSceneNode.CreateChildSceneNode( new Vector3( -200, 0, 50 ) );
Entity ent2 = scene.CreateEntity( "knot", "knot.mesh" );
ent2.MaterialName = "Examples/DynaTest4";
blaNode.AttachObject( ent2 );
blaNode = scene.RootSceneNode.CreateChildSceneNode( new Vector3( 200, -90, 50 ) );
ent2 = scene.CreateEntity( "knot2", "knot.mesh" );
ent2.MaterialName = "Examples/DynaTest2";
blaNode.AttachObject( ent2 );
blaNode = scene.RootSceneNode.CreateChildSceneNode( new Vector3( -110, 200, 50 ) );
// Cloaked fish
ent2 = scene.CreateEntity( "knot3", "fish.mesh" );
ent2.MaterialName = "Examples/DynaTest3";
swim = ent2.GetAnimationState( "swim" );
swim.IsEnabled = true;
blaNode.AttachObject( ent2 );
blaNode.Scale = new Vector3( 50.0f, 50.0f, 50.0f );
LogManager.Instance.Write( "HardwarePixelBuffer {0} {1} {2} ", buffer.Width, buffer.Height, buffer.Depth );
buffer.Lock( BufferLocking.Normal );
PixelBox pb = buffer.CurrentLock;
LogManager.Instance.Write( "PixelBox {0} {1} {2} {3} {4} {5} {6}", pb.Width, pb.Height, pb.Depth, pb.RowPitch, pb.SlicePitch, pb.Data, pb.Format );
buffer.Unlock();
// show GUI
overlay = OverlayManager.Instance.GetByName( "Example/DynTexOverlay" );
overlay.Show();
}