Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        protected void SetupGUI()
        {
            SelectMenu selectMenu = TrayManager.CreateLongSelectMenu(TrayLocation.TopLeft, "MaterialSelectMenu", "Material", 300,
                                                                     200, 5);

            for (int i = 0; i < this.materialControlsContainer.Count; i++)
            {
                selectMenu.AddItem(this.materialControlsContainer[i].DisplayName);
            }
            selectMenu.SelectedIndexChanged += selectMenu_SelectedIndexChanged;
            CheckBox box = TrayManager.CreateCheckBox(TrayLocation.TopLeft, "SpinLightButton", "Spin Light", 175);

            box.IsChecked     = true;
            box.CheckChanged += new CheckChangedHandler(box_CheckChanged);
            Button btn = TrayManager.CreateButton(TrayLocation.TopRight, "PageButtonControl", "Page", 175);

            btn.CursorPressed += new CursorPressedHandler(btn_CursorPressed);
            for (int i = 0; i < ControlsPerPage; i++)
            {
                this.shaderControls[i] = TrayManager.CreateThickSlider(TrayLocation.TopRight, "ShaderControlSlider" + i,
                                                                       "Control",
                                                                       256, 80, 0, 1, 100);
            }

            selectMenu.SelectItem(0);
            TrayManager.ShowCursor();
        }
Esempio n. 2
0
        private void SetupControls()
        {
            SelectMenu technique = TrayManager.CreateThickSelectMenu(TrayLocation.TopLeft, "TechniqueType",
                                                                     "Instancing Technique", 200, 3);

            technique.AddItem("Instancing");
            technique.AddItem("Static Geometry");
            technique.AddItem("Independent Entities");

            SelectMenu objectType = TrayManager.CreateThickSelectMenu(TrayLocation.TopLeft, "ObjectType", "Object : ", 200, 4);

            objectType.AddItem("razor");
            objectType.AddItem("knot");
            objectType.AddItem("tudorhouse");
            objectType.AddItem("woodpallet");

            TrayManager.CreateThickSlider(TrayLocation.TopLeft, "ObjectCountSlider", "Object count", 200, 50, 0, 1000, 101).
            SetValue(160, false);

            TrayManager.CreateThickSlider(TrayLocation.TopLeft, "CPUOccupationSlider", "CPU Load (ms)", 200, 75, 0, 1000.0f / 60,
                                          20);

            TrayManager.CreateCheckBox(TrayLocation.TopLeft, "ShadowCheckBox", "Shadows", 200);

            TrayManager.CreateCheckBox(TrayLocation.TopLeft, "PostEffectCheckBox", "Post Effect", 200);

            TrayManager.ShowCursor();
        }
Esempio n. 3
0
        private void _setupControls()
        {
            TrayManager.ShowCursor();

            // make room for the controls
            TrayManager.ShowLogo(TrayLocation.TopRight);
            TrayManager.ShowFrameStats(TrayLocation.TopRight);
            TrayManager.ToggleAdvancedFrameStats();

            this.infoLabel = TrayManager.CreateLabel(TrayLocation.Top, "TInfo", "", 350);

            this.editMenu = TrayManager.CreateLongSelectMenu(TrayLocation.Bottom, "EditMode", "Edit Mode", 370, 250, 3);
            this.editMenu.AddItem("None");
            this.editMenu.AddItem("Elevation");
            this.editMenu.AddItem("Blend");
            this.editMenu.SelectItem(0); // no edit mode
            this.editMenu.SelectedIndexChanged += _itemSelected;

            this.flyBox = TrayManager.CreateCheckBox(TrayLocation.Bottom, "Fly", "Fly");
            this.flyBox.SetChecked(false, false);
            this.flyBox.CheckChanged += _checkBoxToggled;

            this.shadowsMenu = TrayManager.CreateLongSelectMenu(TrayLocation.Bottom, "Shadows", "Shadows", 370, 250, 3);
            this.shadowsMenu.AddItem("None");
            this.shadowsMenu.AddItem("Color Shadows");
            this.shadowsMenu.AddItem("Depth Shadows");
            this.shadowsMenu.SelectItem(0);
            this.shadowsMenu.SelectedIndexChanged += _itemSelected;

            var names = new List <string>();

            names.Add("Help");
            //a friendly reminder
            TrayManager.CreateParamsPanel(TrayLocation.TopLeft, "Help", 100, names).SetParamValue(0, "H/F1");
        }
Esempio n. 4
0
        protected void SetupTogglers()
        {
            // create check boxes to toggle the visibility of our particle systems
            TrayManager.CreateLabel(TrayLocation.TopLeft, "VisLabel", "Particles");
            var box = TrayManager.CreateCheckBox(TrayLocation.TopLeft, "Fireworks", "Fireworks", 130);

            box.CheckChanged += new CheckChangedHandler(_checkBoxToggled);
            box.IsChecked     = true;
            box = TrayManager.CreateCheckBox(TrayLocation.TopLeft, "Fountain1", "Fountain A", 130);
            box.CheckChanged += new CheckChangedHandler(_checkBoxToggled);
            box.IsChecked     = true;
            box = TrayManager.CreateCheckBox(TrayLocation.TopLeft, "Fountain2", "Fountain B", 130);
            box.CheckChanged += new CheckChangedHandler(_checkBoxToggled);
            box.IsChecked     = true;
            box = TrayManager.CreateCheckBox(TrayLocation.TopLeft, "Aureola", "Aureola", 130);
            box.CheckChanged += new CheckChangedHandler(_checkBoxToggled);
            box.IsChecked     = false;
            box = TrayManager.CreateCheckBox(TrayLocation.TopLeft, "Nimbus", "Nimbus", 130);
            box.CheckChanged += new CheckChangedHandler(_checkBoxToggled);
            box.IsChecked     = false;
            box = TrayManager.CreateCheckBox(TrayLocation.TopLeft, "Rain", "Rain", 130);
            box.CheckChanged += new CheckChangedHandler(_checkBoxToggled);
            box.IsChecked     = false;
        }
Esempio n. 5
0
        protected override void SetupContent()
        {
            ResourceGroupManager.Instance.InitializeAllResourceGroups();
            // setup some basic lighting for our scene
            SceneManager.AmbientLight = new ColorEx(0.5f, 0.5f, 0.5f);
            SceneManager.CreateLight("BezierLight").Position = new Vector3(100, 100, 100);

            // define the control point vertices for our patch
            // Patch data
            var patchVertices = new PatchVertex[9];

            patchVertices[0].X  = -500;
            patchVertices[0].Y  = 200;
            patchVertices[0].Z  = -500;
            patchVertices[0].Nx = -0.5f;
            patchVertices[0].Ny = 0.5f;
            patchVertices[0].Nz = 0;
            patchVertices[0].U  = 0;
            patchVertices[0].V  = 0;

            patchVertices[1].X  = 0;
            patchVertices[1].Y  = 500;
            patchVertices[1].Z  = -750;
            patchVertices[1].Nx = 0;
            patchVertices[1].Ny = 0.5f;
            patchVertices[1].Nz = 0;
            patchVertices[1].U  = 0.5f;
            patchVertices[1].V  = 0;

            patchVertices[2].X  = 500;
            patchVertices[2].Y  = 1000;
            patchVertices[2].Z  = -500;
            patchVertices[2].Nx = 0.5f;
            patchVertices[2].Ny = 0.5f;
            patchVertices[2].Nz = 0;
            patchVertices[2].U  = 1;
            patchVertices[2].V  = 0;

            patchVertices[3].X  = -500;
            patchVertices[3].Y  = 0;
            patchVertices[3].Z  = 0;
            patchVertices[3].Nx = -0.5f;
            patchVertices[3].Ny = 0.5f;
            patchVertices[3].Nz = 0;
            patchVertices[3].U  = 0;
            patchVertices[3].V  = 0.5f;

            patchVertices[4].X  = 0;
            patchVertices[4].Y  = 500;
            patchVertices[4].Z  = 0;
            patchVertices[4].Nx = 0;
            patchVertices[4].Ny = 0.5f;
            patchVertices[4].Nz = 0;
            patchVertices[4].U  = 0.5f;
            patchVertices[4].V  = 0.5f;

            patchVertices[5].X  = 500;
            patchVertices[5].Y  = -50;
            patchVertices[5].Z  = 0;
            patchVertices[5].Nx = 0.5f;
            patchVertices[5].Ny = 0.5f;
            patchVertices[5].Nz = 0;
            patchVertices[5].U  = 1;
            patchVertices[5].V  = 0.5f;

            patchVertices[6].X  = -500;
            patchVertices[6].Y  = 0;
            patchVertices[6].Z  = 500;
            patchVertices[6].Nx = -0.5f;
            patchVertices[6].Ny = 0.5f;
            patchVertices[6].Nz = 0;
            patchVertices[6].U  = 0;
            patchVertices[6].V  = 1;

            patchVertices[7].X  = 0;
            patchVertices[7].Y  = 500;
            patchVertices[7].Z  = 500;
            patchVertices[7].Nx = 0;
            patchVertices[7].Ny = 0.5f;
            patchVertices[7].Nz = 0;
            patchVertices[7].U  = 0.5f;
            patchVertices[7].V  = 1;

            patchVertices[8].X  = 500;
            patchVertices[8].Y  = 200;
            patchVertices[8].Z  = 800;
            patchVertices[8].Nx = 0.5f;
            patchVertices[8].Ny = 0.5f;
            patchVertices[8].Nz = 0;
            patchVertices[8].U  = 1;
            patchVertices[8].V  = 1;
            // specify a vertex format declaration for our patch: 3 floats for position, 3 floats for normal, 2 floats for UV
            this.patchDeclaration = HardwareBufferManager.Instance.CreateVertexDeclaration();
            this.patchDeclaration.AddElement(0, 0, VertexElementType.Float3, VertexElementSemantic.Position);
            this.patchDeclaration.AddElement(0, 12, VertexElementType.Float3, VertexElementSemantic.Normal);
            this.patchDeclaration.AddElement(0, 24, VertexElementType.Float2, VertexElementSemantic.TexCoords, 0);

            // create a patch mesh using vertices and declaration
            this.patch = MeshManager.Instance.CreateBezierPatch("patch", ResourceGroupManager.DefaultResourceGroupName,
                                                                patchVertices,
                                                                this.patchDeclaration, 3, 3, 5, 5, VisibleSide.Both,
                                                                BufferUsage.StaticWriteOnly, BufferUsage.DynamicWriteOnly, true,
                                                                true);

            // Start patch at 0 detail
            this.patch.Subdivision = 0;

            // Create entity based on patch
            this.patchEntity = SceneManager.CreateEntity("Entity1", "patch");
            var material =
                (Material)MaterialManager.Instance.Create("TextMat", ResourceGroupManager.DefaultResourceGroupName, null);

            material.GetTechnique(0).GetPass(0).CreateTextureUnitState("BumpyMetal.jpg");

            this.patchEntity.MaterialName = "TextMat";
            this.patchPass = material.GetTechnique(0).GetPass(0);

            // Attach the entity to the root of the scene
            SceneManager.RootSceneNode.AttachObject(this.patchEntity);

            // save the main pass of the material so we can toggle wireframe on it
            if (material != null)
            {
                this.patchPass = material.GetTechnique(0).GetPass(0);

                // use an orbit style camera
                CameraManager.setStyle(CameraStyle.Orbit);
                CameraManager.SetYawPitchDist(0, 0, 250);

                TrayManager.ShowCursor();

                // create slider to adjust detail and checkbox to toggle wireframe
                Slider   slider = TrayManager.CreateThickSlider(TrayLocation.TopLeft, "Detail", "Detail", 120, 44, 0, 1, 6);
                CheckBox box    = TrayManager.CreateCheckBox(TrayLocation.TopLeft, "Wireframe", "Wireframe", 120);
                slider.SliderMoved += new SliderMovedHandler(slider_SliderMoved);
                box.CheckChanged   += new CheckChangedHandler(box_CheckChanged);
            }
        }