Main class to manage a cursor, backdrop, trays and widgets.
Inheritance: ISdkTrayListener, IResourceGroupListener
Example #1
0
		/// <summary>
		/// 
		/// </summary>
		protected override void Setup()
		{
			CreateWindow();
			SetupInput();
			LocateResources();

			ResourceGroupManager.Instance.InitializeResourceGroup( "Essential" );

			this.TrayManager = new SdkTrayManager( "BrowserControls", RenderWindow, Mouse, this );
			this.TrayManager.ShowBackdrop( "SdkTrays/Bands" );
			this.TrayManager.TrayContainer[ (int)TrayLocation.None ].Hide();

			CreateDummyScene();
			LoadResources();

			Sample startupSample = LoadSamples();

			TextureManager.Instance.DefaultMipmapCount = 5;

			// adds context as listener to process context-level (above the sample level) events
			Root.FrameStarted += FrameStarted;
			Root.FrameEnded += FrameEnded;
			Root.FrameRenderingQueued += FrameRenderingQueued;
			WindowEventMonitor.Instance.RegisterListener( RenderWindow, this );

			// create template material for sample thumbnails
			var thumbMat = (Material)MaterialManager.Instance.Create( "SampleThumbnail", "Essential" );
			thumbMat.GetTechnique( 0 ).GetPass( 0 ).CreateTextureUnitState();

			SetupWidgets();
			WindowResized( RenderWindow ); // adjust menus for resolution

			if ( startupSample != null )
			{
				RunSample( startupSample );
			}
		}
Example #2
0
		/// <summary>
		/// Extendeded to setup a default tray interface and camera controller.
		/// </summary>
		/// <param name="window"></param>
		/// <param name="keyboard"></param>
		/// <param name="mouse"></param>
		protected internal override void Setup( RenderWindow window, SIS.Keyboard keyboard, SIS.Mouse mouse )
		{
			Window = window;
			Keyboard = keyboard;
			Mouse = mouse;

			LocateResources();
			CreateSceneManager();
			SetupView();

			this.TrayManager = new SdkTrayManager( "SampleControls", window, mouse, this as ISdkTrayListener );  // create a tray interface

			LoadResources();
			ResourcesLoaded = true;

			// Show stats and logo and Hide the cursor
			this.TrayManager.ShowFrameStats( TrayLocation.BottomLeft );
			this.TrayManager.ShowLogo( TrayLocation.BottomRight );
			this.TrayManager.HideCursor();

			// create a params panel for displaying sample details
			List<string> items = new List<string>
								 {
									 "cam.pX", 
									 "cam.pY", 
									 "cam.pZ", 
									 String.Empty, 
									 "cam.oW", 
									 "cam.oX", 
									 "cam.oY", 
									 "cam.oZ", 
									 String.Empty, 
									 "Filtering", 
									 "Poly Mode"
								 };
			this.DetailsPanel = this.TrayManager.CreateParamsPanel( TrayLocation.None, "DetailsPanel", 180, items );
			this.DetailsPanel.SetParamValue( 9, "Bilinear" );
			this.DetailsPanel.SetParamValue( 10, "Solid" );
			this.DetailsPanel.Hide();

			SetupContent();
			ContentSetup = true;

			IsDone = false;
		}
Example #3
0
		/// <summary>
		/// 
		/// </summary>
		protected override void Shutdown()
		{
			if ( this.TrayManager != null )
			{
				this.TrayManager = null;
			}
			if ( CurrentSample == null )
			{
				DestroyDummyScene();
			}

			this.CategoryMenu = null;
			this.SampleMenu = null;
			this.SampleSlider = null;
			this.TitleLabel = null;
			this.DescBox = null;
			this.RendererMenu = null;
			this.HiddenOverlays.Clear();
			this.Thumbs.Clear();
			this.CarouselPlace = 0;

			base.Shutdown();

			UnloadSamples();
		}
Example #4
0
		public SdkSample()
		{
			// so we don't have to worry about checking if these keys exist later
			Metadata[ "Title" ] = "Untitled";
			Metadata[ "Description" ] = String.Empty;
			Metadata[ "Category" ] = "Unsorted";
			Metadata[ "Thumbnail" ] = String.Empty;
			Metadata[ "Help" ] = String.Empty;

			this.TrayManager = null;
			this.CameraManager = null;
		}