Pārlūkot izejas kodu

fix initialization + some vs2019 compiler warnings.

Kim Kulling 6 gadi atpakaļ
vecāks
revīzija
a8182d86cb
2 mainītis faili ar 17 papildinājumiem un 12 dzēšanām
  1. 14 9
      code/glTF2/glTF2Asset.inl
  2. 3 3
      code/glTF2/glTF2Importer.cpp

+ 14 - 9
code/glTF2/glTF2Asset.inl

@@ -802,22 +802,27 @@ inline void Texture::Read(Value& obj, Asset& r)
 namespace {
     inline void SetTextureProperties(Asset& r, Value* prop, TextureInfo& out) {
 	    if (r.extensionsUsed.KHR_texture_transform) {
-			out.scale[0] = 1;
-			out.scale[1] = 1;
-			out.offset[0] = 0;
-			out.offset[1] = 0;
-			out.rotation = 0;
             if (Value *extensions = FindObject(*prop, "extensions")) {
 				if (Value *pKHR_texture_transform = FindObject(*extensions, "KHR_texture_transform")) {
 					if (Value *array = FindArray(*pKHR_texture_transform, "offset")) {
 						out.offset[0] = (*array)[0].GetFloat();
 						out.offset[1] = (*array)[1].GetFloat();
-					}                    
-					ReadMember(*pKHR_texture_transform, "rotation", out.rotation);
-					if (Value *array = FindArray(*pKHR_texture_transform, "scale")) {
+					} else {
+						out.offset[0] = 0;
+						out.offset[1] = 0;
+					}      
+					
+                    if (!ReadMember(*pKHR_texture_transform, "rotation", out.rotation)) {
+						out.rotation = 0;					
+                    }
+					
+                    if (Value *array = FindArray(*pKHR_texture_transform, "scale")) {
 						out.scale[0] = (*array)[0].GetFloat();
 						out.scale[1] = (*array)[1].GetFloat();
-					}
+					} else {
+						out.scale[0] = 1;
+						out.scale[1] = 1;
+                    }
 				}
 			}
         }

+ 3 - 3
code/glTF2/glTF2Importer.cpp

@@ -622,7 +622,7 @@ void glTF2Importer::ImportMeshes(glTF2::Asset& r)
                     nFaces = count / 2;
                     if (nFaces * 2 != count) {
                         ASSIMP_LOG_WARN("The number of vertices was not compatible with the LINES mode. Some vertices were dropped.");
-                        count = nFaces * 2;
+                        count = (unsigned int) nFaces * 2;
                     }
                     faces = new aiFace[nFaces];
                     for (unsigned int i = 0; i < count; i += 2) {
@@ -649,7 +649,7 @@ void glTF2Importer::ImportMeshes(glTF2::Asset& r)
                     nFaces = count / 3;
                     if (nFaces * 3 != count) {
                         ASSIMP_LOG_WARN("The number of vertices was not compatible with the TRIANGLES mode. Some vertices were dropped.");
-                        count = nFaces * 3;
+                        count = (unsigned int) nFaces * 3;
                     }
                     faces = new aiFace[nFaces];
                     for (unsigned int i = 0; i < count; i += 3) {
@@ -1134,7 +1134,7 @@ aiMeshMorphAnim* CreateMeshMorphAnim(glTF2::Asset& r, Node& node, AnimationSampl
         samplers.weight->output->ExtractData(values);
         anim->mNumKeys = static_cast<uint32_t>(samplers.weight->input->count);
 
-        const unsigned int numMorphs = samplers.weight->output->count / anim->mNumKeys;
+        const unsigned int numMorphs = (unsigned int)samplers.weight->output->count / anim->mNumKeys;
 
         anim->mKeys = new aiMeshMorphKey[anim->mNumKeys];
         unsigned int k = 0u;