コード例 #1
0
        public Crate()
        {
            OBJ_File obj = new OBJ_File();

            Name = "Crate";
            obj.Load("C:\\Users\\Michael\\Documents\\XNA\\Hunt-Or-Gatherers\\Models\\Objects\\Crate.obj", Engine.g, new Vector3(0, 0, 0), Vector3.Zero, 1f, false, false, this);


            Display = new CharcoalEngine._2D.Panel();

            Display.Bounds            = new Vector2(300, 300);
            ((Panel)Display).Position = new Vector2(300, 300);
            Panel p = (Panel)Display;

            p.BGColor = Color.Gray;

            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    p.Children.Add(new Panel());
                    p.Children[p.Children.Count - 1].Position         = new Vector2(13 + i * 100, 13 + j * 100);
                    ((Panel)p.Children[p.Children.Count - 1]).BGColor = new Color(i / 3.0f, j / 3.0f, 1.0f);
                    p.Children[p.Children.Count - 1].Bounds           = new Vector2(75, 75);
                    p.Children[p.Children.Count - 1].Visible          = true;
                }
            }
        }
コード例 #2
0
ファイル: OBJ_FileTests.cs プロジェクト: rogebrya/RayTracer2
        public void OBJ_FacesWithNormalVectors()
        {
            // Test Text:

            /*
             * v 0 1 0
             * v -1 0 0
             * v 1 0 0
             * vn -1 0 0
             * vn 1 0 0
             * vn 0 1 0
             * f 1//3 2//1 3//2
             * f 1/0/3 2/102/1 3/14/2
             */
            string[]       objInput = System.IO.File.ReadAllLines("C:\\Users\\prome\\source\\repos\\CS 4458\\RayTracer\\RayTracer\\objTests\\objTest7.txt");
            OBJ_File       parser   = OBJ_File.ParseOBJFile(objInput);
            Group          g        = parser.Groups[0];
            SmoothTriangle t1       = (SmoothTriangle)g.Shapes[0];
            SmoothTriangle t2       = (SmoothTriangle)g.Shapes[1];

            Assert.AreEqual(t1.P1, parser.Verticies[1]);
            Assert.AreEqual(t1.P2, parser.Verticies[2]);
            Assert.AreEqual(t1.P3, parser.Verticies[3]);
            Assert.AreEqual(t1.N1, parser.Normals[3]);
            Assert.AreEqual(t1.N2, parser.Normals[1]);
            Assert.AreEqual(t1.N3, parser.Normals[2]);
            Assert.AreEqual(t2, t1);
        }
コード例 #3
0
ファイル: OBJ_FileTests.cs プロジェクト: rogebrya/RayTracer2
        public void MakePolygons()
        {
            // Test Text:

            /*
             * v -1 1 0
             * v -1 0 0
             * v 1 0 0
             * v 1 1 0
             * v 0 2 0
             * f 1 2 3 4 5
             */
            string[] objInput = System.IO.File.ReadAllLines("C:\\Users\\prome\\source\\repos\\CS 4458\\RayTracer\\RayTracer\\objTests\\objTest4.txt");
            OBJ_File parser   = OBJ_File.ParseOBJFile(objInput);
            Group    g        = parser.DefaultGroup;
            Triangle t1       = (Triangle)g.Shapes[0];
            Triangle t2       = (Triangle)g.Shapes[1];
            Triangle t3       = (Triangle)g.Shapes[2];

            Assert.AreEqual(t1.P1, parser.Verticies[1]);
            Assert.AreEqual(t1.P2, parser.Verticies[2]);
            Assert.AreEqual(t1.P3, parser.Verticies[3]);
            Assert.AreEqual(t2.P1, parser.Verticies[1]);
            Assert.AreEqual(t2.P2, parser.Verticies[3]);
            Assert.AreEqual(t2.P3, parser.Verticies[4]);
            Assert.AreEqual(t3.P1, parser.Verticies[1]);
            Assert.AreEqual(t3.P2, parser.Verticies[4]);
            Assert.AreEqual(t3.P3, parser.Verticies[5]);
        }
コード例 #4
0
ファイル: OBJ_FileTests.cs プロジェクト: rogebrya/RayTracer2
        public void OBJ_ModelToGroup()
        {
            // Test Text:

            /*
             * v -1 1 0
             * v -1 0 0
             * v 1 0 0
             * v 1 1 0
             * g FirstGroup
             * f 1 2 3
             * g SecondGroup
             * f 1 3 4
             */
            string[] objInput = System.IO.File.ReadAllLines("C:\\Users\\prome\\source\\repos\\CS 4458\\RayTracer\\RayTracer\\objTests\\objTest5.txt");
            OBJ_File parser   = OBJ_File.ParseOBJFile(objInput);
            Group    g        = OBJ_File.OBJtoGroup(parser);
            Group    g1       = (Group)g.Shapes[0];
            Group    g2       = (Group)g.Shapes[1];
            Triangle t1       = (Triangle)g1.Shapes[0];
            Triangle t2       = (Triangle)g2.Shapes[0];

            Assert.AreEqual(t1.P1, parser.Verticies[1]);
            Assert.AreEqual(t1.P2, parser.Verticies[2]);
            Assert.AreEqual(t1.P3, parser.Verticies[3]);
            Assert.AreEqual(t2.P1, parser.Verticies[1]);
            Assert.AreEqual(t2.P2, parser.Verticies[3]);
            Assert.AreEqual(t2.P3, parser.Verticies[4]);
        }
コード例 #5
0
        public Sky()
        {
            Children.Add(new Transform());
            OBJ_File obj = new OBJ_File();

            Name = "Sky_Geometry";
            obj.Load(Application.StartupPath + "Sky.obj", Engine.g, new Vector3(0, 0, 0), Vector3.Zero, 1f, false, false, Children[0]);
        }
コード例 #6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="scene"></param>
        public Torch(Scene scene)
        {
            Children.Add(new Transform());
            OBJ_File obj = new OBJ_File();

            Name = "Torch";
            obj.Load("C:\\Users\\Michael\\Documents\\XNA\\3D Models\\MedievalBarrel (1)\\MedievalBarrel\\MedievalBarrel_OBJ.obj", Engine.g, new Vector3(0, 0, 0), Vector3.Zero, 1f, false, false, Children[0]);
        }
コード例 #7
0
ファイル: OBJ_FileTests.cs プロジェクト: rogebrya/RayTracer2
        public void OBJ_VertexNormalRecords()
        {
            // Test Text:

            /*
             * vn 0 0 1
             * vn 0.707 0 -0.707
             * vn 1 2 3
             */
            string[] objInput = System.IO.File.ReadAllLines("C:\\Users\\prome\\source\\repos\\CS 4458\\RayTracer\\RayTracer\\objTests\\objTest6.txt");
            OBJ_File parser   = OBJ_File.ParseOBJFile(objInput);

            Assert.AreEqual(parser.Normals[1], Tuple.Vector(0, 0, 1));
            Assert.AreEqual(parser.Normals[2], Tuple.Vector(0.707, 0, -0.707));
            Assert.AreEqual(parser.Normals[3], Tuple.Vector(1, 2, 3));
        }
コード例 #8
0
ファイル: OBJ_FileTests.cs プロジェクト: rogebrya/RayTracer2
        public void IgnoreUnrecognizedLines()
        {
            // Test Text:

            /*
             * There was a young lady named Bright
             * who traveled much faster than light.
             * She set out one day
             * in a relative way,
             * and came back the previous night.
             */
            string[] objInput = System.IO.File.ReadAllLines("C:\\Users\\prome\\source\\repos\\CS 4458\\RayTracer\\RayTracer\\objTests\\objTest1.txt");
            OBJ_File parser   = OBJ_File.ParseOBJFile(objInput);

            Assert.AreEqual(parser.LinesIgnored, 5);
        }
コード例 #9
0
ファイル: OBJ_FileTests.cs プロジェクト: rogebrya/RayTracer2
        public void ParseVertexRecords()
        {
            // Test Text:

            /*
             * v -1 1 0
             * v -1.0000 0.5000 0.0000
             * v 1 0 0
             * v 1 1 0
             */
            string[] objInput = System.IO.File.ReadAllLines("C:\\Users\\prome\\source\\repos\\CS 4458\\RayTracer\\RayTracer\\objTests\\objTest2.txt");
            OBJ_File parser   = OBJ_File.ParseOBJFile(objInput);

            Assert.AreEqual(parser.LinesIgnored, 0);
            Assert.AreEqual(parser.Verticies[1], Tuple.Point(-1, 1, 0));
            Assert.AreEqual(parser.Verticies[2], Tuple.Point(-1, 0.5, 0));
            Assert.AreEqual(parser.Verticies[3], Tuple.Point(1, 0, 0));
            Assert.AreEqual(parser.Verticies[4], Tuple.Point(1, 1, 0));
        }
コード例 #10
0
ファイル: Door.cs プロジェクト: retr0fire/Charcoal-Engine
        /// <summary>
        ///
        /// </summary>
        /// <param name="scene"></param>
        public Door(Scene scene)
        {
            rig = new AnimationRig();
            Children.Add(rig);
            OBJ_File obj = new OBJ_File();

            Name = "Door";
            obj.Load("C:\\Users\\Michael\\Documents\\XNA\\Hunt-Or-Gatherers\\Models\\Objects\\door.obj", Engine.g, new Vector3(0, 0, 0), Vector3.Zero, 1f, false, false, rig);
            rig.Children[0].Center = -rig.Children[0].Position;
            rig.Children.Add(new Transform()
            {
                Position = rig.Children[0].Position
            });
            rig.Children.Add(new Transform()
            {
                Position     = rig.Children[0].Position,
                YawPitchRoll = new Vector3(MathHelper.ToRadians(90), 0, 0)
            }
                             );
            rig.Update_Rig = false;
        }