diff options
author | Frederico Linhares <fred@linhares.blue> | 2022-08-30 17:45:40 -0300 |
---|---|---|
committer | Frederico Linhares <fred@linhares.blue> | 2022-08-30 17:45:40 -0300 |
commit | f1f1576543bb4e0f3b9bc4cd0ba4a12a70546c3c (patch) | |
tree | 87160fb7462ee5b4385ba6e9b0ccb51657b2f796 /src/core.cpp | |
parent | 42e03ddc3b28c41b81fb5410feb72750530ffa13 (diff) |
feat Create 2d graphics pipeline
Diffstat (limited to 'src/core.cpp')
-rw-r--r-- | src/core.cpp | 52 |
1 files changed, 46 insertions, 6 deletions
diff --git a/src/core.cpp b/src/core.cpp index a1c996f..ecf7d47 100644 --- a/src/core.cpp +++ b/src/core.cpp @@ -452,22 +452,60 @@ unload_vk_swapchain(void *obj) } static void -load_vk_graphics_pipeline(void *obj) +load_vk_graphics_pipeline_3d(void *obj) { try { - cg_core.vk_graphics_pipeline = new VK::GraphicsPipeline(); + cg_core.vk_graphics_pipeline_3d = new VK::GraphicsPipeline3D(); } catch(const CommandError &e) { - throw CommandError{"Failed to create graphics pipeline."}; + throw CommandError{"Failed to create 3d graphics pipeline."}; } } static void -unload_vk_graphics_pipeline(void *obj) +unload_vk_graphics_pipeline_3d(void *obj) { - delete cg_core.vk_graphics_pipeline; + delete cg_core.vk_graphics_pipeline_3d; +} + +static void +load_vk_graphics_pipeline_2d(void *obj) +{ + try + { + cg_core.vk_graphics_pipeline_2d = new VK::GraphicsPipeline2D(); + } + catch(const CommandError &e) + { + throw CommandError{"Failed to create 2d graphics pipeline."}; + } +} + +static void +unload_vk_graphics_pipeline_2d(void *obj) +{ + delete cg_core.vk_graphics_pipeline_2d; +} + +static void +load_vk_renderer(void *obj) +{ + try + { + cg_core.vk_renderer = new VK::Renderer(); + } + catch(const CommandError &e) + { + throw CommandError{"Failed to create renderer."}; + } +} + +static void +unload_vk_renderer(void *obj) +{ + delete cg_core.vk_renderer; } static void @@ -508,7 +546,9 @@ const CommandChain cg_sCore::loader{ #endif {&load_vk_devices, &unload_vk_devices}, {&load_vk_swapchain, &unload_vk_swapchain}, - {&load_vk_graphics_pipeline, &unload_vk_graphics_pipeline}, + {&load_vk_graphics_pipeline_3d, &unload_vk_graphics_pipeline_3d}, + {&load_vk_graphics_pipeline_2d, &unload_vk_graphics_pipeline_2d}, + {&load_vk_renderer, &unload_vk_renderer}, {&load_mruby, &unload_mruby}, {&load_mruby_symbols, nullptr} }; |