From 5155efe888530daaee69ec098f9627f7a14a9e68 Mon Sep 17 00:00:00 2001 From: RevoluPowered Date: Sun, 27 Oct 2019 13:53:43 +0000 Subject: [PATCH] Fixed bitmask issue We are approaching the limit for the number of post processes --- include/assimp/postprocess.h | 23 +++++++++++++---------- test/unit/utArmaturePopulate.cpp | 3 ++- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/include/assimp/postprocess.h b/include/assimp/postprocess.h index 2af48aedd..4b6732e80 100644 --- a/include/assimp/postprocess.h +++ b/include/assimp/postprocess.h @@ -320,6 +320,19 @@ enum aiPostProcessSteps */ aiProcess_FixInfacingNormals = 0x2000, + + + // ------------------------------------------------------------------------- + /** + * This step generically populates aiBone->mArmature and aiBone->mNode generically + * The point of these is it saves you later having to calculate these elements + * This is useful when handling rest information or skin information + * If you have multiple armatures on your models we strongly recommend enabling this + * Instead of writing your own multi-root, multi-armature lookups we have done the + * hard work for you :) + */ + aiProcess_PopulateArmatureData = 0x4000, + // ------------------------------------------------------------------------- /**
This step splits meshes with more than one primitive type in * homogeneous sub-meshes. @@ -538,16 +551,6 @@ enum aiPostProcessSteps aiProcess_Debone = 0x4000000, - // ------------------------------------------------------------------------- - /** - * This step generically populates aiBone->mArmature and aiBone->mNode generically - * The point of these is it saves you later having to calculate these elements - * This is useful when handling rest information or skin information - * If you have multiple armatures on your models we strongly recommend enabling this - * Instead of writing your own multi-root, multi-armature lookups we have done the - * hard work for you :) - */ - aiProcess_PopulateArmatureData = 0x5000000, // ------------------------------------------------------------------------- /**
This step will perform a global scale of the model. diff --git a/test/unit/utArmaturePopulate.cpp b/test/unit/utArmaturePopulate.cpp index 835d3fdb9..8eb577d61 100644 --- a/test/unit/utArmaturePopulate.cpp +++ b/test/unit/utArmaturePopulate.cpp @@ -64,7 +64,8 @@ class utArmaturePopulate : public ::testing::Test { TEST_F( utArmaturePopulate, importCheckForArmatureTest) { Assimp::Importer importer; - const aiScene *scene = importer.ReadFile( ASSIMP_TEST_MODELS_DIR "/FBX/huesitos.fbx", aiProcess_PopulateArmatureData); + unsigned int mask = aiProcess_PopulateArmatureData | aiProcess_ValidateDataStructure; + const aiScene *scene = importer.ReadFile( ASSIMP_TEST_MODELS_DIR "/FBX/huesitos.fbx", mask); EXPECT_NE( nullptr, scene ); EXPECT_EQ(scene->mNumMeshes, 1u); aiMesh* mesh = scene->mMeshes[0];