Exemplo n.º 1
0
        public void LoadObjFromFileOk()
        {
            var tgcObjLoader = new TGCObjLoader();

            tgcObjLoader.LoadObjFromFile(_fullobjpath);
            Assert.Greater(tgcObjLoader.ObjMeshContainer.ListObjMesh.Count, 0);
            Assert.AreEqual(tgcObjLoader.ObjMeshContainer.VertexListV.Count, 8);
        }
Exemplo n.º 2
0
        public void CreateMaterialIdsArrayOk()
        {
            TGCObjLoader tgcObjLoader = new TGCObjLoader();

            tgcObjLoader.LoadObjFromFile(_fullobjpathmultimaterial);
            _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First();
            Assert.AreEqual(_resObjMesh.FaceTriangles.Count, _resObjMesh.CreateMaterialIdsArray().Length);
        }
Exemplo n.º 3
0
        public void IndexMaterialIdsArrayOk()
        {
            TGCObjLoader tgcObjLoader = new TGCObjLoader();

            tgcObjLoader.LoadObjFromFile(_fullobjpathmultimaterial);
            _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First();
            int[] materialIds = _resObjMesh.CreateMaterialIdsArray();
            Assert.AreEqual(materialIds[15810], 0);
            Assert.AreEqual(materialIds[17010], 1);
        }
Exemplo n.º 4
0
        public void CreateInstanceDxMeshWithNumberFacesOk()
        {
            TGCObjLoader tgcObjLoader = new TGCObjLoader();

            tgcObjLoader.LoadObjFromFile(_fullobjpath);
            _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First();
            MeshBuilder auxMeshBuilder = new MeshBuilder().AddDxMesh(_resObjMesh.FaceTriangles.Count);

            Assert.AreEqual(auxMeshBuilder.DxMesh.NumberFaces, _resObjMesh.FaceTriangles.Count);
        }
Exemplo n.º 5
0
        public void CreateMeshOnlyColor()
        {
            TGCObjLoader tgcObjLoader = new TGCObjLoader();

            tgcObjLoader.LoadObjFromFile(_fullobjpathmeshcolorsolo);
            _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First();
            MeshBuilder meshBuilder = new MeshBuilder().AddDxMesh(_resObjMesh.FaceTriangles.Count).ChargeBuffer(tgcObjLoader.ObjMeshContainer, 0);

            Assert.NotNull(meshBuilder.DxMesh);
        }
Exemplo n.º 6
0
        public void AddMultiMaterialToBuilderOk()
        {
            TGCObjLoader tgcObjLoader = new TGCObjLoader();

            tgcObjLoader.LoadObjFromFile(_fullobjpathmultimaterial);
            _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First();
            MeshBuilder meshBuilder = new MeshBuilder()
                                      .AddMaterials(tgcObjLoader.ObjMaterialsLoader).ChargueMaterials();

            Assert.NotNull(meshBuilder.MeshMaterials);
        }
Exemplo n.º 7
0
        public void EnsureRightTypeRenderIsLoadedOnlyColorBranch()
        {
            //TODO asegurar que si tiene material el tipo de render sea difuse map, o si tiene ligth map que sea difuse mas ligth map
            TGCObjLoader tgcObjLoader = new TGCObjLoader();

            tgcObjLoader.LoadObjFromFile(_fullobjpathmeshcolorsolo);
            _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First();
            MeshBuilder meshBuilder = new MeshBuilder()
                                      .AddDxMesh(_resObjMesh.FaceTriangles.Count);

            Assert.AreEqual(meshBuilder.ChargueBufferStrategy.RenderType, TgcMesh.MeshRenderType.VERTEX_COLOR);
        }
Exemplo n.º 8
0
        public void GetTextureCountOk()
        {
            TGCObjLoader tgcObjLoader = new TGCObjLoader();

            tgcObjLoader.LoadObjFromFile(_fullobjpathmultimaterial);
            _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First();
            MeshBuilder meshBuilder = new MeshBuilder()
                                      .AddMaterials(tgcObjLoader.ObjMaterialsLoader)
                                      .ChargueMaterials();

            Assert.AreEqual(meshBuilder.GetTextureCount(), 2);
        }
Exemplo n.º 9
0
        public void CreateDxMeshWithVertexLimit()
        {
            // 21845 * 3 = 65535
            // Int range 0 to 65535

            TGCObjLoader tgcObjLoader = new TGCObjLoader();

            tgcObjLoader.LoadObjFromFile(_fullobjpathmeshcolorsolo);
            _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First();
            MeshBuilder meshBuilder = new MeshBuilder().AddDxMesh(21844);

            Assert.NotNull(meshBuilder.DxMesh);
        }
Exemplo n.º 10
0
        public void EnsureRightTypeRenderIsLoadedDiffuseMapBranch()
        {
            //TODO asegurar que si tiene material el tipo de render sea difuse map, o si tiene ligth map que sea difuse mas ligth map
            TGCObjLoader tgcObjLoader = new TGCObjLoader();

            tgcObjLoader.LoadObjFromFile(_fullobjpathmultimaterial);
            _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First();
            MeshBuilder meshBuilder = new MeshBuilder()
                                      .AddMaterials(tgcObjLoader.ObjMaterialsLoader)
                                      .ChargueMaterials();

            Assert.AreEqual(meshBuilder.ChargueBufferStrategy.RenderType, TgcMesh.MeshRenderType.DIFFUSE_MAP);
        }
Exemplo n.º 11
0
        public void BuildTgcMeshWithAutotransformTrueOk()
        {
            TGCObjLoader tgcObjLoader = new TGCObjLoader();

            tgcObjLoader.LoadObjFromFile(_fullobjpath);
            _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First();
            TgcMesh tgcMesh = new MeshBuilder()
                              .AddMaterials(tgcObjLoader.ObjMaterialsLoader)
                              .AddDxMesh(_resObjMesh.FaceTriangles.Count)
                              .ChargeBuffer(tgcObjLoader.ObjMeshContainer, 0)
                              .AddAutotransform(true)
                              .Build(_resObjMesh);

            Assert.IsTrue(tgcMesh.AutoTransform);
        }
Exemplo n.º 12
0
        public void CheckIndexBufferIsChargedOk()
        {
            //TODO verificar que el idexbuffer se cargo .
            TGCObjLoader tgcObjLoader = new TGCObjLoader();

            tgcObjLoader.LoadObjFromFile(_fullobjpathmultimaterial);
            _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First();
            MeshBuilder meshBuilder = new MeshBuilder()
                                      .AddMaterials(tgcObjLoader.ObjMaterialsLoader)
                                      .ChargueMaterials()
                                      .AddDxMesh(_resObjMesh.FaceTriangles.Count)
                                      .ChargeBuffer(tgcObjLoader.ObjMeshContainer, 0);

            Assert.Greater(meshBuilder.DxMesh.IndexBuffer.SizeInBytes, 0);
        }
Exemplo n.º 13
0
        public void CreateMeshColorAndDifusseMap()
        {
            //TODO el test de cuando el mesh es color y difuse
            TGCObjLoader tgcObjLoader = new TGCObjLoader();

            tgcObjLoader.LoadObjFromFile(_fullobjpathmultimaterial);
            _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First();
            MeshBuilder meshBuilder = new MeshBuilder()
                                      .AddMaterials(tgcObjLoader.ObjMaterialsLoader)
                                      .ChargueMaterials()
                                      .AddDxMesh(_resObjMesh.FaceTriangles.Count)
                                      .ChargeBuffer(tgcObjLoader.ObjMeshContainer, 0);

            Assert.NotNull(meshBuilder.DxMesh);
        }
Exemplo n.º 14
0
        public void BuildTgcMeshWithBoundingBoxOk()  //TODO el boundingbox no deberia estar acoplado al mesh
        {
            TGCObjLoader tgcObjLoader = new TGCObjLoader();

            tgcObjLoader.LoadObjFromFile(_fullobjpath);
            _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First();
            TgcMesh tgcMesh = new MeshBuilder()
                              .AddMaterials(tgcObjLoader.ObjMaterialsLoader)
                              .AddDxMesh(_resObjMesh.FaceTriangles.Count)
                              .ChargeBuffer(tgcObjLoader.ObjMeshContainer, 0)
                              .SetEnable(true)
                              .AddAutotransform(true)
                              .SetHasBoundingBox(false)
                              .Build(_resObjMesh);

            Assert.NotNull(tgcMesh.BoundingBox);
        }
Exemplo n.º 15
0
        public void TgcMeshBuildWithTextureOk()
        {
            TGCObjLoader tgcObjLoader = new TGCObjLoader();

            tgcObjLoader.LoadObjFromFile(_fullobjpath);
            _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First();
            TgcMesh tgcMesh = new MeshBuilder()
                              .AddMaterials(tgcObjLoader.ObjMaterialsLoader)
                              .ChargueMaterials()
                              .AddDxMesh(_resObjMesh.FaceTriangles.Count)
                              .ChargeBuffer(tgcObjLoader.ObjMeshContainer, 0)
                              .AddAutotransform(true)
                              .SetEnable(true)
                              .SetHasBoundingBox(true)
                              .Build(_resObjMesh);

            Assert.Greater(tgcMesh.Materials.Length, 0);
        }
Exemplo n.º 16
0
        public void TgcMeshBuildedCanSet()
        {
            TGCObjLoader tgcObjLoader = new TGCObjLoader();

            tgcObjLoader.LoadObjFromFile(_fullobjpath);
            _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First();
            TgcMesh tgcMesh = new MeshBuilder()
                              .AddMaterials(tgcObjLoader.ObjMaterialsLoader)
                              .AddDxMesh(_resObjMesh.FaceTriangles.Count)
                              .ChargeBuffer(tgcObjLoader.ObjMeshContainer, 0)
                              .AddAutotransform(true)
                              .SetEnable(true)
                              .SetHasBoundingBox(false)
                              .Build(_resObjMesh);

            tgcMesh.Rotation = new TGCVector3(8.0f, 8.5f, 8.5f);
            Assert.AreEqual(tgcMesh.Rotation, new TGCVector3(8.0f, 8.5f, 8.5f));
        }