示例#1
0
        public void SimpleObj_OneMeshPerMaterialGroup()
        {
            CreateTestObj();
            var mesh       = ObjMesh.FromFile("test.obj");
            var dummyScene = new Scene();

            ObjConverter.AddToScene(mesh, dummyScene, null);

            // There should be four meshes in total (one per group, except if there are multiple
            // materials in the same group)
            Assert.Equal(4, dummyScene.Meshes.Count);
        }
示例#2
0
        public void SimpleObj_Triangulation()
        {
            CreateTestObj();
            var mesh       = ObjMesh.FromFile("test.obj");
            var dummyScene = new Scene();

            ObjConverter.AddToScene(mesh, dummyScene, null);

            // There should be exactly 7 triangles
            int numTriangles = 0;

            foreach (var m in dummyScene.Meshes)
            {
                numTriangles += m.NumFaces;
            }

            Assert.Equal(7, numTriangles);
        }
示例#3
0
        public void SimpleObj_ShouldBeRead()
        {
            CreateTestObj();
            var mesh       = ObjMesh.FromFile("test.obj");
            var dummyScene = new Scene();

            ObjConverter.AddToScene(mesh, dummyScene, null);

            Assert.Empty(mesh.Errors);

            // There should be some meshes
            Assert.NotEmpty(dummyScene.Meshes);

            // Every mesh should have a material assigned
            foreach (var m in dummyScene.Meshes)
            {
                Assert.NotNull(m.Material);
            }

            // There should be an emitter
            Assert.NotEmpty(dummyScene.Emitters);
        }