Example #1
0
        public Scene LoadScene()
        {
            var result = new OctreeScene();

            const double dist      = 0.2;
            const double h         = 0.3;
            const double camheight = 10;

            var objects = new List <I3DObject>();

            for (double x = 1; x < camheight * 3; x += h)
            {
                for (double z = -camheight; z < camheight; z += h)
                {
                    AddTree(x + Rd.NextDouble() * dist - dist / 2, -2, z + Rd.NextDouble() * dist - dist / 2, objects);
                }
            }

            var cam = new Camera(
                new Vect3 {
                X = -camheight, Y = camheight * 2
            },
                new Vect3 {
                X = -camheight + 1, Y = camheight * 2 - 1
            },
                new Vect3 {
                X = Constants.InvSqurtTwo, Y = Constants.InvSqurtTwo
            }, 1, 1, 1);

            result.Camera = cam;
            result.UpdateObjects(objects);

            return(result);
        }
Example #2
0
        public Scene LoadScene()
        {
            var scene = new OctreeScene();

            TriangleMeshModel model = Parse(_filePath);
            var objects             = new List <I3DObject>();

            const int nx = 2;
            const int ny = 4;

            for (int i = -nx; i <= nx; i++)
            {
                for (int j = -ny; j <= ny; j++)
                {
                    objects.Add(new ModelInstance(new Vect3
                    {
                        X = i * 15 + (j % 2) * 7,
                        Z = (j + 4) * -15
                    }, model));
                }
            }

            objects.Add(_cam);

            scene.UpdateObjects(objects);

            return(scene);
        }