diff --git a/example/Vulkan/Geometry3D.cpp b/example/Vulkan/Geometry3D.cpp index 5ecbb84b..c9d88cc4 100644 --- a/example/Vulkan/Geometry3D.cpp +++ b/example/Vulkan/Geometry3D.cpp @@ -13,7 +13,7 @@ using namespace hgl::graph; constexpr uint32_t SCREEN_WIDTH=128; constexpr uint32_t SCREEN_HEIGHT=128; -class TestApp:public WalkerCameraAppFramework +class TestApp:public CameraAppFramework { private: @@ -125,7 +125,7 @@ public: bool Init() { - if(!WalkerCameraAppFramework::Init(SCREEN_WIDTH,SCREEN_HEIGHT)) + if(!CameraAppFramework::Init(SCREEN_WIDTH,SCREEN_HEIGHT)) return(false); if(!InitMaterial()) @@ -149,7 +149,7 @@ public: { BuildCommandBuffer(&render_list); } -};//class TestApp:public WalkerCameraAppFramework +};//class TestApp:public CameraAppFramework int main(int,char **) { diff --git a/example/Vulkan/LoadModel.cpp b/example/Vulkan/LoadModel.cpp index e3cea4e0..23af8c5c 100644 --- a/example/Vulkan/LoadModel.cpp +++ b/example/Vulkan/LoadModel.cpp @@ -76,7 +76,7 @@ vulkan::Renderable *CreateMeshRenderable(SceneDB *db,vulkan::Material *mtl,const return(render_obj); } -class TestApp:public WalkerCameraAppFramework +class TestApp:public CameraAppFramework { private: @@ -233,7 +233,7 @@ public: model_data=md; - if(!WalkerCameraAppFramework::Init(SCREEN_WIDTH,SCREEN_HEIGHT)) + if(!CameraAppFramework::Init(SCREEN_WIDTH,SCREEN_HEIGHT)) return(false); if(!InitMaterial()) @@ -259,7 +259,7 @@ public: { BuildCommandBuffer(&render_list); } -};//class TestApp:public WalkerCameraAppFramework +};//class TestApp:public CameraAppFramework #ifdef _WIN32 int wmain(int argc,wchar_t **argv) diff --git a/example/Vulkan/SceneTree.cpp b/example/Vulkan/SceneTree.cpp index cfea1590..212060f8 100644 --- a/example/Vulkan/SceneTree.cpp +++ b/example/Vulkan/SceneTree.cpp @@ -15,7 +15,7 @@ using namespace hgl::graph; constexpr uint32_t SCREEN_WIDTH=128; constexpr uint32_t SCREEN_HEIGHT=128; -class TestApp:public WalkerCameraAppFramework +class TestApp:public CameraAppFramework { private: @@ -131,7 +131,7 @@ public: bool Init() { - if(!WalkerCameraAppFramework::Init(SCREEN_WIDTH,SCREEN_HEIGHT)) + if(!CameraAppFramework::Init(SCREEN_WIDTH,SCREEN_HEIGHT)) return(false); if(!InitMaterial()) @@ -153,7 +153,7 @@ public: void Draw() override { - WalkerCameraAppFramework::Draw(); + CameraAppFramework::Draw(); Matrix4f rot=rotate(GetDoubleTime()-start_time,camera.up_vector); @@ -168,7 +168,7 @@ public: { BuildCommandBuffer(&render_list); } -};//class TestApp:public VulkanApplicationFramework +};//class TestApp:public CameraAppFramework int main(int,char **) { diff --git a/example/Vulkan/VulkanAppFramework.h b/example/Vulkan/VulkanAppFramework.h index 1bad8787..8ddf5f86 100644 --- a/example/Vulkan/VulkanAppFramework.h +++ b/example/Vulkan/VulkanAppFramework.h @@ -225,7 +225,7 @@ public: } };//class VulkanApplicationFramework -class WalkerCameraAppFramework:public VulkanApplicationFramework +class CameraAppFramework:public VulkanApplicationFramework { private: @@ -240,7 +240,7 @@ protected: public: - virtual ~WalkerCameraAppFramework()=default; + virtual ~CameraAppFramework()=default; virtual bool Init(int w,int h) { @@ -290,6 +290,11 @@ public: if(key_status[kbD])camera.Right (move_speed);else if(key_status[kbR])camera.Up (move_speed);else if(key_status[kbF])camera.Down (move_speed);else + + if(key_status[kbLeft ])camera.WrapHorzRotate(move_speed);else + if(key_status[kbRight ])camera.WrapHorzRotate(-move_speed);else + if(key_status[kbUp ])camera.WrapVertRotate(move_speed);else + if(key_status[kbDown ])camera.WrapVertRotate(-move_speed);else return; } @@ -322,4 +327,4 @@ public: { camera.Distance(1+(v/1000.0f)); } -};//class WalkerCameraAppFramework +};//class CameraAppFramework diff --git a/src/Tools/ModelConvert/AssimpLoader.cpp b/src/Tools/ModelConvert/AssimpLoader.cpp index b6b0a29a..c14840b2 100644 --- a/src/Tools/ModelConvert/AssimpLoader.cpp +++ b/src/Tools/ModelConvert/AssimpLoader.cpp @@ -612,7 +612,7 @@ void AssimpLoader::LoadMesh() { int tc=0; int comp_total=0; - int *uv_use=mtl->uv_use.GetData(); + uint *uv_use=mtl->uv_use.GetData(); //这里要重新审视数据来源,并不是每一个纹理通道都有数据,并且和材质对应。 //、、材质中的uv index具体对应啥 还不是很清楚