예제 #1
0
        public void AddTeapots(SceneGraph parent, int children)
        {
            int childs = children;
            Mesh m1 = new Mesh(parent.pos + new Vector3(-13/childs, 0, 0), 0.5f/childs, "../../assets/teapot.obj");
            Mesh m2 = new Mesh(parent.pos + new Vector3(13/childs, 0, 0), 0.5f/childs, "../../assets/teapot.obj");
            Mesh m3 = new Mesh(parent.pos + new Vector3(0, 0, -13/childs), 0.5f/childs, "../../assets/teapot.obj");
            Mesh m4 = new Mesh(parent.pos + new Vector3(0, 0, 13/childs), 0.5f/childs, "../../assets/teapot.obj");

            parent.AddChildNode(m1);
            parent.AddChildNode(m2);
            parent.AddChildNode(m3);
            parent.AddChildNode(m4);

            if (childs < 2)
            {
                AddTeapots(m1, childs+1);
                AddTeapots(m2, childs+1);
                AddTeapots(m3, childs+1);
                AddTeapots(m4, childs+1);
            }
        }
예제 #2
0
 // initialize
 public void Init()
 {
     // load teapot
     mesh = new Mesh(new Vector3(0,0,0), 1,  "../../assets/teapot.obj");
     floor = new Mesh(new Vector3(0, 0, 0), 1, "../../assets/floor.obj");
     text = new Mesh(new Vector3(0, 10, 0), 1, "../../assets/text.obj");
     // initialize stopwatch
     timer = new Stopwatch();
     timer.Reset();
     timer.Start();
     // create shaders
     shader = new Shader("../../shaders/vs.glsl", "../../shaders/fs.glsl");
     // load a texture
     wood = new Texture("../../assets/wood.jpg");
     root = new SceneGraph(new Vector3(0,1,0), 1);
     root.AddChildNode(mesh);
     mesh.AddChildNode(floor);
     mesh.AddChildNode(text);
     AddTeapots(mesh, 1);
 }