diff --git a/CMSceneGraph b/CMSceneGraph index 4d15db4b..62a1367e 160000 --- a/CMSceneGraph +++ b/CMSceneGraph @@ -1 +1 @@ -Subproject commit 4d15db4b5c42a0fb8fc9d78703ab1e98e90d142d +Subproject commit 62a1367e8b346bdcf107e8d586fb5b1f28cd0f04 diff --git a/example/2dVector/line.cpp b/example/2dVector/line.cpp index 3b5e6178..6ca581de 100644 --- a/example/2dVector/line.cpp +++ b/example/2dVector/line.cpp @@ -37,9 +37,9 @@ private: MaterialInstance * material_instance =nullptr; RenderableInstance *render_instance =nullptr; - GPUBuffer * ubo_world_matrix =nullptr; - GPUBuffer * ubo_color_material =nullptr; - GPUBuffer * ubo_line_config =nullptr; + GPUBuffer * ubo_world_matrix =nullptr; + GPUBuffer * ubo_color_material =nullptr; + GPUBuffer * ubo_line_config =nullptr; Pipeline * pipeline =nullptr; @@ -53,7 +53,8 @@ private: return(false); // pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d")); - pipeline=CreatePipeline(material_instance,InlinePipeline::Alpha2D,Prim::LineStrip); //等同上一行,为Framework重载,默认使用swapchain的render target + pipeline=CreatePipeline(material_instance,OS_TEXT("res/pipeline/alpha2d"),Prim::LineStrip); //等同上一行,为Framework重载,默认使用swapchain的render target + //pipeline=CreatePipeline(material_instance,InlinePipeline::Alpha2D,Prim::LineStrip); //等同上一行,为Framework重载,默认使用swapchain的render target if(!pipeline) return(false); diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt index ee5381c8..c1e2bc19 100644 --- a/example/CMakeLists.txt +++ b/example/CMakeLists.txt @@ -2,3 +2,4 @@ add_subdirectory(Vulkan) add_subdirectory(2dVector) +add_subdirectory(GUI) \ No newline at end of file diff --git a/example/GUI/CMakeLists.txt b/example/GUI/CMakeLists.txt index 8359de68..b244edfa 100644 --- a/example/GUI/CMakeLists.txt +++ b/example/GUI/CMakeLists.txt @@ -1,5 +1,5 @@ macro(CreateProject name) - add_executable(${name} ${ARGN} VulkanAppFramework.h) + add_executable(${name} ${ARGN} GUIAppFramework.h) target_link_libraries(${name} ${ULRE}) IF(WIN32) diff --git a/example/GUI/GUIAppFramework.h b/example/GUI/GUIAppFramework.h new file mode 100644 index 00000000..e69de29b diff --git a/example/GUI/align_test.cpp b/example/GUI/align_test.cpp new file mode 100644 index 00000000..e69de29b diff --git a/example/Vulkan/DeferredModel.cpp b/example/Vulkan/DeferredModel.cpp index eda80249..a9ff57de 100644 --- a/example/Vulkan/DeferredModel.cpp +++ b/example/Vulkan/DeferredModel.cpp @@ -337,7 +337,7 @@ public: VkCommandBuffer cb=*cmd_buf[index]; - sc_render_target->Submit(cb,gbuffer_rt->GetCompleteSemaphore()); + sc_render_target->Submit(cb,gbuffer_rt->GetRenderCompleteSemaphore()); sc_render_target->PresentBackbuffer(); sc_render_target->WaitQueue(); sc_render_target->WaitFence(); diff --git a/inc/hgl/gui/Form.h b/inc/hgl/gui/Form.h index 48461ea6..5e5c6e39 100644 --- a/inc/hgl/gui/Form.h +++ b/inc/hgl/gui/Form.h @@ -14,12 +14,14 @@ namespace hgl */ class Form:public Widget { - protected: //每个窗体独立一个FBO存在,所以每个窗体会有自己的RenderTarget与pipeline + protected: public: Form(ThemeEngine *te=nullptr):Widget(nullptr,te){} virtual ~Form()=default; + + };//class Form }//namespace gui }//namespace hgl diff --git a/inc/hgl/gui/ThemeEngine.h b/inc/hgl/gui/ThemeEngine.h index ecad81a9..f0d35d53 100644 --- a/inc/hgl/gui/ThemeEngine.h +++ b/inc/hgl/gui/ThemeEngine.h @@ -13,6 +13,8 @@ namespace hgl class GPUDevice; }//namespace vulkan + constexpr VkFormat DefaultRenderTargetFormat=UFMT_ABGR8; ///<缺省窗体绘图表面格式 + class ThemeEngine { protected: @@ -21,6 +23,12 @@ namespace hgl MapObject