/// <summary>
        ///
        /// </summary>
        /// <param name="control"></param>
        public override void Load(Control control)
        {
            base.Load(control);

            camera = new PerspectiveCamera(60, control.Width / (float)control.Height, 1, 10000);
            this.camera.Position.Z = 500;

            scene     = new Scene();
            scene.Fog = new Fog(Color.White, 1, 10000);

            var geometry = new BoxGeometry(100, 100, 100);
            var material = new MeshNormalMaterial();

            group = new Object3D();

            for (var i = 0; i < 1000; i++)
            {
                var mesh = new Mesh(geometry, material);

                mesh.Position.X = Mat.Random() * 2000 - 1000;
                mesh.Position.Y = Mat.Random() * 2000 - 1000;
                mesh.Position.Z = Mat.Random() * 2000 - 1000;

                mesh.Rotation.X = (float)(Mat.Random() * 2.0 * Math.PI);
                mesh.Rotation.Y = (float)(Mat.Random() * 2.0 * Math.PI);

                mesh.MatrixAutoUpdate = false;
                mesh.UpdateMatrix();

                group.Add(mesh);
            }

            scene.Add(group);

            renderer.SetClearColor(Color.White);
            renderer.SortObjects = false;
        }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="control"></param>
        public override void Load(Control control)
        {
            base.Load(control);

            camera = new PerspectiveCamera(40, control.Width / (float)control.Height, 1, 15000);
            this.camera.Position.Z = 3200;

            scene = new Scene();

            sphere = new Mesh(new SphereGeometry(100, 20, 20), new MeshNormalMaterial(new Hashtable {
                { "shading", Three.SmoothShading }
            }));
            scene.Add(sphere);

            var geometry = new CylinderGeometry(0, 10, 100, 3);

            geometry.ApplyMatrix(new Matrix4().MakeRotationFromEuler(new Euler((float)Math.PI / 2, (float)Math.PI, 0)));

            var material = new MeshNormalMaterial();

            for (var i = 0; i < 1000; i++)
            {
                var mesh = new Mesh(geometry, material);
                mesh.Position.X = Mat.Random() * 4000 - 2000;
                mesh.Position.Y = Mat.Random() * 4000 - 2000;
                mesh.Position.Z = Mat.Random() * 4000 - 2000;

                mesh.Scale.X = mesh.Scale.Y = mesh.Scale.Z = Mat.Random() * 4 + 2;

                scene.Add(mesh);
            }

            scene.MatrixAutoUpdate = false;

            renderer.SetClearColor(Color.White);
            renderer.SortObjects = false;
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="control"></param>
        public override void Load(Control control)
        {
            base.Load(control);

            camera = new PerspectiveCamera(60, control.Width / (float)control.Height, 1, 15000);
            this.camera.Position.Z = 500;

            scene = new Scene();

            var geometry = new BoxGeometry(100, 100, 100);
            var material = new MeshNormalMaterial();

            root            = new Mesh(geometry, material);
            root.Position.X = 1000;
            scene.Add(root);

            var amount = 200; Object3D object3D; var parent = root;

            for (var i = 0; i < amount; i++)
            {
                object3D            = new Mesh(geometry, material);
                object3D.Position.X = 100;

                parent.Add(object3D);
                parent = object3D;
            }

            parent = root;

            for (var i = 0; i < amount; i++)
            {
                object3D            = new Mesh(geometry, material);
                object3D.Position.X = -100;

                parent.Add(object3D);
                parent = object3D;
            }

            parent = root;

            for (var i = 0; i < amount; i++)
            {
                object3D            = new Mesh(geometry, material);
                object3D.Position.Y = -100;

                parent.Add(object3D);
                parent = object3D;
            }

            parent = root;

            for (var i = 0; i < amount; i++)
            {
                object3D            = new Mesh(geometry, material);
                object3D.Position.Y = 100;

                parent.Add(object3D);
                parent = object3D;
            }

            parent = root;

            for (var i = 0; i < amount; i++)
            {
                object3D            = new Mesh(geometry, material);
                object3D.Position.Z = -100;

                parent.Add(object3D);
                parent = object3D;
            }

            parent = root;

            for (var i = 0; i < amount; i++)
            {
                object3D            = new Mesh(geometry, material);
                object3D.Position.Z = 100;

                parent.Add(object3D);
                parent = object3D;
            }

            renderer.SetClearColor(Color.White);
            renderer.SortObjects = false;
        }