diff --git a/CMakeLists.txt b/CMakeLists.txt index dc91538e..7ddfe3cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,6 +57,8 @@ SET(SPIRV_CROSS_PATH ${CMAKE_CURRENT_SOURCE_DIR}/3rdpty/SPIRV-Cross) include_directories(${SPIRV_CROSS_PATH}) add_subdirectory(${SPIRV_CROSS_PATH}) +SET(ULRE_RUNTIME_PATH ${CMAKE_CURRENT_SOURCE_DIR}) + add_subdirectory(3rdpty/MathGeoLib) add_subdirectory(3rdpty/NvTriStrip) add_subdirectory(3rdpty/assimp) diff --git a/example/Vulkan/Atomsphere.cpp b/example/Vulkan/Atomsphere.cpp index 0255af25..b69926dc 100644 --- a/example/Vulkan/Atomsphere.cpp +++ b/example/Vulkan/Atomsphere.cpp @@ -42,8 +42,8 @@ private: bool InitMaterial() { - material=shader_manage->CreateMaterial(OS_TEXT("Atomsphere.vert.spv"), - OS_TEXT("Atomsphere.frag.spv")); + material=shader_manage->CreateMaterial(OS_TEXT("res/shader/Atomsphere.vert.spv"), + OS_TEXT("res/shader/Atomsphere.frag.spv")); if(!material) return(false); diff --git a/example/Vulkan/CMakeLists.txt b/example/Vulkan/CMakeLists.txt index 05261714..bbe9c64d 100644 --- a/example/Vulkan/CMakeLists.txt +++ b/example/Vulkan/CMakeLists.txt @@ -1,6 +1,10 @@ macro(CreateProject name) add_executable(${name} ${ARGN} VulkanAppFramework.h) target_link_libraries(${name} ${ULRE}) + + IF(WIN32) + set_target_properties(${name} PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY ${ULRE_RUNTIME_PATH}) + ENDIF() endmacro() CreateProject(0.triangle main.cpp) diff --git a/example/Vulkan/Deferred.cpp b/example/Vulkan/Deferred.cpp index c1fa579b..a6934167 100644 --- a/example/Vulkan/Deferred.cpp +++ b/example/Vulkan/Deferred.cpp @@ -251,15 +251,15 @@ private: bool InitMaterial() { - if(!InitSubpass(&sp_gbuffer, OS_TEXT("gbuffer_opaque.vert.spv"),OS_TEXT("gbuffer_opaque.frag.spv")))return(false); - //if(!InitSubpass(&sp_composition,OS_TEXT("ds_composition.vert.spv"),OS_TEXT("ds_composition.frag.spv")))return(false); + if(!InitSubpass(&sp_gbuffer, OS_TEXT("res/shader/gbuffer_opaque.vert.spv"),OS_TEXT("res/shader/gbuffer_opaque.frag.spv")))return(false); + //if(!InitSubpass(&sp_composition,OS_TEXT("res/shader/ds_composition.vert.spv"),OS_TEXT("res/shader/ds_composition.frag.spv")))return(false); if(!InitGBufferPipeline(&sp_gbuffer))return(false); //if(!InitCompositionPipeline(&sp_composition))return(false); - texture.color =vulkan::LoadTGATexture(OS_TEXT("cardboardPlainStain.tga"),device); - texture.normal =vulkan::LoadTGATexture(OS_TEXT("APOCWALL029_NRM.tga"),device); - //texture.specular=vulkan::LoadTGATexture(OS_TEXT("APOCWALL029_SPEC.tga"),device); + texture.color =vulkan::LoadTGATexture(OS_TEXT("res/image/cardboardPlainStain.tga"),device); + texture.normal =vulkan::LoadTGATexture(OS_TEXT("res/image/APOCWALL029_NRM.tga"),device); + //texture.specular=vulkan::LoadTGATexture(OS_TEXT("res/image/APOCWALL029_SPEC.tga"),device); VkSamplerCreateInfo sampler_create_info; diff --git a/example/Vulkan/Geometry2D.cpp b/example/Vulkan/Geometry2D.cpp index d0438b06..b0d1888e 100644 --- a/example/Vulkan/Geometry2D.cpp +++ b/example/Vulkan/Geometry2D.cpp @@ -47,8 +47,8 @@ private: bool InitMaterial() { - material=shader_manage->CreateMaterial(OS_TEXT("OnlyPosition.vert.spv"), - OS_TEXT("FlatColor.frag.spv")); + material=shader_manage->CreateMaterial(OS_TEXT("res/shader/OnlyPosition.vert.spv"), + OS_TEXT("res/shader/FlatColor.frag.spv")); if(!material) return(false); diff --git a/example/Vulkan/Geometry3D.cpp b/example/Vulkan/Geometry3D.cpp index 6221466f..1f618cc2 100644 --- a/example/Vulkan/Geometry3D.cpp +++ b/example/Vulkan/Geometry3D.cpp @@ -31,8 +31,8 @@ private: bool InitMaterial() { - material=shader_manage->CreateMaterial(OS_TEXT("PositionColor3D.vert.spv"), - OS_TEXT("FlatColor.frag.spv")); + material=shader_manage->CreateMaterial(OS_TEXT("res/shader/PositionColor3D.vert.spv"), + OS_TEXT("res/shader/FlatColor.frag.spv")); if(!material) return(false); diff --git a/example/Vulkan/InlineGeometryScene.cpp b/example/Vulkan/InlineGeometryScene.cpp index 782277fc..1cd8b73b 100644 --- a/example/Vulkan/InlineGeometryScene.cpp +++ b/example/Vulkan/InlineGeometryScene.cpp @@ -40,8 +40,8 @@ private: bool InitMaterial() { - material=shader_manage->CreateMaterial(OS_TEXT("OnlyPosition3D.vert.spv"), - OS_TEXT("FlatColor.frag.spv")); + material=shader_manage->CreateMaterial(OS_TEXT("res/shader/OnlyPosition3D.vert.spv"), + OS_TEXT("res/shader/FlatColor.frag.spv")); if(!material) return(false); @@ -151,7 +151,7 @@ private: db->Add(pipeline_line); pipeline_creater->Set(PRIM_TRIANGLES); - pipeline_creater->SetPolygonMode(VK_POLYGON_MODE_LINE); + pipeline_creater->SetPolygonMode(VK_POLYGON_MODE_FILL); pipeline_solid=pipeline_creater->Create(); if(!pipeline_solid) diff --git a/example/Vulkan/LoadModel.cpp b/example/Vulkan/LoadModel.cpp index eb9c7978..6b3abeb7 100644 --- a/example/Vulkan/LoadModel.cpp +++ b/example/Vulkan/LoadModel.cpp @@ -103,8 +103,8 @@ private: bool InitMaterial() { - material=shader_manage->CreateMaterial(OS_TEXT("OnlyPosition3D.vert.spv"), - OS_TEXT("FlatColor.frag.spv")); + material=shader_manage->CreateMaterial(OS_TEXT("res/shader/OnlyPosition3D.vert.spv"), + OS_TEXT("res/shader/FlatColor.frag.spv")); if(!material) return(false); diff --git a/example/Vulkan/SceneTree.cpp b/example/Vulkan/SceneTree.cpp index 53ee88bd..271b3388 100644 --- a/example/Vulkan/SceneTree.cpp +++ b/example/Vulkan/SceneTree.cpp @@ -44,8 +44,8 @@ private: bool InitMaterial() { - material=shader_manage->CreateMaterial(OS_TEXT("OnlyPosition3D.vert.spv"), - OS_TEXT("FlatColor.frag.spv")); + material=shader_manage->CreateMaterial(OS_TEXT("res/shader/OnlyPosition3D.vert.spv"), + OS_TEXT("res/shader/FlatColor.frag.spv")); if(!material) return(false); diff --git a/example/Vulkan/indices_rect.cpp b/example/Vulkan/indices_rect.cpp index 170c360b..13c9aef5 100644 --- a/example/Vulkan/indices_rect.cpp +++ b/example/Vulkan/indices_rect.cpp @@ -64,8 +64,8 @@ private: bool InitMaterial() { - material=shader_manage->CreateMaterial(OS_TEXT("OnlyPosition.vert.spv"), - OS_TEXT("FlatColor.frag.spv")); + material=shader_manage->CreateMaterial(OS_TEXT("res/shader/OnlyPosition.vert.spv"), + OS_TEXT("res/shader/FlatColor.frag.spv")); if(!material) return(false); diff --git a/example/Vulkan/main.cpp b/example/Vulkan/main.cpp index 2b2601a6..1426bd05 100644 --- a/example/Vulkan/main.cpp +++ b/example/Vulkan/main.cpp @@ -65,8 +65,8 @@ private: bool InitMaterial() { - material=shader_manage->CreateMaterial(OS_TEXT("FlatColor.vert.spv"), - OS_TEXT("FlatColor.frag.spv")); + material=shader_manage->CreateMaterial(OS_TEXT("res/shader/FlatColor.vert.spv"), + OS_TEXT("res/shader/FlatColor.frag.spv")); if(!material) return(false); diff --git a/example/Vulkan/texture_rect.cpp b/example/Vulkan/texture_rect.cpp index 438619e7..fa814d5e 100644 --- a/example/Vulkan/texture_rect.cpp +++ b/example/Vulkan/texture_rect.cpp @@ -84,8 +84,8 @@ private: bool InitMaterial() { - material=shader_manage->CreateMaterial(OS_TEXT("FlatTexture.vert.spv"), - OS_TEXT("FlatTexture.frag.spv")); + material=shader_manage->CreateMaterial(OS_TEXT("res/shader/FlatTexture.vert.spv"), + OS_TEXT("res/shader/FlatTexture.frag.spv")); if(!material) return(false);