diff --git a/example/Vulkan/AssimpLoaderMesh.cpp b/example/Vulkan/AssimpLoaderMesh.cpp index 70415ce1..346d616b 100644 --- a/example/Vulkan/AssimpLoaderMesh.cpp +++ b/example/Vulkan/AssimpLoaderMesh.cpp @@ -200,8 +200,26 @@ public: GetBoundingBox(scene->mRootNode,&scene_min,&scene_max); - model_data->bounding_box.minPoint=pos_to_vec(scene_min); - model_data->bounding_box.maxPoint=pos_to_vec(scene_max); + float tmp; + vec smin=pos_to_vec(scene_min); + vec smax=pos_to_vec(scene_max); + + if(smin.y>smax.y) + { + tmp=smin.y; + smin.y=smax.y; + smax.y=tmp; + } + + if(smin.z>smax.z) + { + tmp=smin.z; + smin.z=smax.z; + smax.z=tmp; + } + + model_data->bounding_box.minPoint=smin; + model_data->bounding_box.maxPoint=smax; } ~AssimpLoaderMesh()=default; diff --git a/example/Vulkan/SceneTree.cpp b/example/Vulkan/SceneTree.cpp index 33eda434..1d1c1d97 100644 --- a/example/Vulkan/SceneTree.cpp +++ b/example/Vulkan/SceneTree.cpp @@ -144,9 +144,6 @@ private: scale((i+1)/100.0f)); } - render_root.RefreshMatrix(); - render_root.ExpendToList(&render_list); - return(true); } @@ -216,6 +213,7 @@ public: Matrix4f rot=rotate(GetDoubleTime()-start_time,camera.right_vector); render_root.RefreshMatrix(&rot); + render_list.Clear(); render_root.ExpendToList(&render_list); BuildCommandBuffer();