From 60ebcaefe007289945c521e6692d06fbc6f15e60 Mon Sep 17 00:00:00 2001 From: hyzboy Date: Tue, 11 Jun 2019 19:56:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3render=5Flist=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E8=A2=AB=E6=B8=85=E7=A9=BA=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/Vulkan/AssimpLoaderMesh.cpp | 22 ++++++++++++++++++++-- example/Vulkan/SceneTree.cpp | 4 +--- 2 files changed, 21 insertions(+), 5 deletions(-) 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();