private void Form_Load(object sender, EventArgs e)
        {
            {
                var camera = new Camera(
                    new vec3(5, 3, 4), new vec3(0, 0, 0), new vec3(0, 1, 0),
                    CameraType.Perspecitive, this.glCanvas1.Width, this.glCanvas1.Height);
                var scene = new Scene(camera, this.glCanvas1);
                scene.RootViewPort.ClearColor = Color.SkyBlue;
                this.glCanvas1.Resize += scene.Resize;
                this.scene = scene;
                var cameraManipulater = new SatelliteManipulater();
                cameraManipulater.Bind(camera, this.glCanvas1);
                this.cameraManipulater = cameraManipulater;

            }
            {
                const int gridsPer2Unit = 20;
                const int scale = 2;
                GroundRenderer renderer = GroundRenderer.Create(new GroundModel(gridsPer2Unit * scale));
                renderer.Scale = new vec3(scale, scale, scale);
                SceneObject obj = renderer.WrapToSceneObject(generateBoundingBox: true);
                this.scene.RootObject.Children.Add(obj);
            }
            {
                var arcballManipulater = new ArcBallManipulater();
                arcballManipulater.Bind(this.scene.FirstCamera, this.glCanvas1);
                SimpleRenderer renderer = SimpleRenderer.Create(new Teapot());
                SceneObject obj = renderer.WrapToSceneObject(new ArcballScript(arcballManipulater));
                {
                    BoundingBoxRenderer box = renderer.GetBoundingBoxRenderer();
                    var boxObj = box.WrapToSceneObject();
                    obj.Children.Add(boxObj);
                }
                this.scene.RootObject.Children.Add(obj);
            }
            {
                var uiAxis = new UIAxis(AnchorStyles.Left | AnchorStyles.Bottom,
                    new Padding(3, 3, 3, 3), new Size(128, 128));
                uiAxis.Initialize();

                this.scene.RootUI.Children.Add(uiAxis);
            }
            {
                var builder = new StringBuilder();
                builder.AppendLine("1: Scene's property grid.");
                builder.AppendLine("2: Canvas' property grid.");
                builder.AppendLine("3: Form's property grid.");
                MessageBox.Show(builder.ToString());
            }
            {
                this.scene.Start();
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Manipulates renderer's rotation state with arcball.
 /// </summary>
 /// <param name="arcballManipulater"></param>
 public ArcballScript(ArcBallManipulater arcballManipulater)
 {
     this.arcballManipulater = arcballManipulater;
 }
Exemplo n.º 3
0
 public void BindManipulater(ArcBallManipulater manipulater)
 {
     this.manipulater = manipulater;
 }
Exemplo n.º 4
0
 /// <summary>
 /// Manipulates renderer's rotation state with arcball.
 /// </summary>
 /// <param name="arcballManipulater"></param>
 public ArcballScript(ArcBallManipulater arcballManipulater)
 {
     this.arcballManipulater = arcballManipulater;
 }