Example #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            switch (listBox1.SelectedItem)
            {
            case "SkyboxNode":
                string sn_skybox = "Content/skybox.png";
                InputBoxes.ShowInputDialog(ref sn_skybox, "Skybox");
                SkyboxNode node = SkyboxNode.Create(new Bitmap(Image.FromFile(sn_skybox)));
                node.Name   = "NewSkybox";
                node.Parent = nodebase;
                break;

            case "TextBillboardNode":
                string            sn_billboard      = "Hello World!";
                TextBillboardNode textBillboardNode = TextBillboardNode.Create(200, 40, 65535);
                textBillboardNode.Name            = "NewBillboard";
                textBillboardNode.Parent          = nodebase;
                textBillboardNode.Text            = sn_billboard;
                textBillboardNode.EnableRendering = ThreeFlags.None;
                break;

            case "CubeNode":
                CubeNode cube = CubeNode.Create();
                cube.Name   = "NewCube";
                cube.Parent = nodebase;
                break;

            case "ShadowVolumeNode":
                CubeModel model     = new CubeModel();
                string    sv_pos    = CubeModel.strPosition;
                string    sv_normal = "0 0 0";
                InputBoxes.ShowInputDialog(ref sv_pos, "Volume Position");
                InputBoxes.ShowInputDialog(ref sv_pos, "Volume Normal");
                ShadowVolumeNode shadow = ShadowVolumeNode.Create(model, sv_pos, sv_normal, new vec3(1, 1, 1));
                shadow.Name   = "NewLight";
                shadow.Parent = nodebase;
                break;

            case "TerrainNode":
                TerrainNode terrain = TerrainNode.Create();
                terrain.Parent = nodebase;
                terrain.Name   = "NewTerrain";
                break;

            case "SpotLightNode":
                CubeModel sp_model  = new CubeModel();
                string    sp_pos    = "0 0 0";
                string    sp_target = "0 0 0";
                InputBoxes.ShowInputDialog(ref sp_pos, "Volume Position");
                InputBoxes.ShowInputDialog(ref sp_target, "Volume Target");
                string[]      sppositions_STR = sp_pos.Split(' ');
                vec3          sp_posv         = new vec3(float.Parse(sppositions_STR[0]), float.Parse(sppositions_STR[1]), float.Parse(sppositions_STR[2]));
                string[]      sptarget_STR    = sp_target.Split(' ');
                vec3          sp_tarv         = new vec3(float.Parse(sptarget_STR[0]), float.Parse(sptarget_STR[1]), float.Parse(sptarget_STR[2]));
                SpotLight     spotlight       = new SpotLight(sp_posv, sp_tarv, 45);
                SpotLightNode spotlightnode   = SpotLightNode.Create(spotlight, sp_model, sp_pos, sp_pos, new vec3(1, 1, 1));
                spotlightnode.Parent = nodebase;
                spotlightnode.Name   = "NewSpotlight";
                lastspotlight        = spotlight;
                break;

            case "CubeLightTestNode":
                CubeLightTestNode cubeLightTest = CubeLightTestNode.Create();
                cubeLightTest.Parent = nodebase;
                cubeLightTest.Name   = "NewCubeLightTest";
                cubeLightTest.SetLight(lastspotlight);
                break;
            }
            src_form.Match(src_form.treeView, nodebase);
            AudioSystem.PlayAudio("GameSounds/clickfast.wav");
            Close();
        }