From bb90c8d3784b635394d1d4b2415900c3470ad8e6 Mon Sep 17 00:00:00 2001 From: bjorn Date: Sat, 25 Nov 2017 12:29:40 -0800 Subject: [PATCH] Reduce max bones per mesh to 48; --- src/graphics/shaders.c | 2 +- src/loaders/model.c | 1 + src/loaders/model.h | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/graphics/shaders.c b/src/graphics/shaders.c index 39ee7ae6..efe5da6f 100644 --- a/src/graphics/shaders.c +++ b/src/graphics/shaders.c @@ -16,7 +16,7 @@ const char* lovrShaderVertexPrefix = "" #else "#version 150 \n" #endif -"#define MAX_BONES 60 \n" +"#define MAX_BONES 48 \n" "in vec3 lovrPosition; \n" "in vec3 lovrNormal; \n" "in vec2 lovrTexCoord; \n" diff --git a/src/loaders/model.c b/src/loaders/model.c index d08a0322..587b1f90 100644 --- a/src/loaders/model.c +++ b/src/loaders/model.c @@ -184,6 +184,7 @@ ModelData* lovrModelDataCreate(Blob* blob) { struct aiPropertyStore* propertyStore = aiCreatePropertyStore(); aiSetImportPropertyInteger(propertyStore, AI_CONFIG_PP_SBP_REMOVE, aiPrimitiveType_POINT | aiPrimitiveType_LINE); + aiSetImportPropertyInteger(propertyStore, AI_CONFIG_PP_SBBC_MAX_BONES, 48); unsigned int flags = aiProcessPreset_TargetRealtime_MaxQuality | aiProcess_OptimizeGraph | aiProcess_FlipUVs | aiProcess_SplitByBoneCount; const struct aiScene* scene = aiImportFileExWithProperties(blob->name, flags, &assimpIO, propertyStore); aiReleasePropertyStore(propertyStore); diff --git a/src/loaders/model.h b/src/loaders/model.h index 311cc686..851d1d08 100644 --- a/src/loaders/model.h +++ b/src/loaders/model.h @@ -7,7 +7,7 @@ #pragma once #define MAX_BONES_PER_VERTEX 4 -#define MAX_BONES 60 +#define MAX_BONES 48 typedef union { void* data;