summaryrefslogtreecommitdiff
path: root/src/core.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core.cpp')
-rw-r--r--src/core.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/core.cpp b/src/core.cpp
index 591eaba..e40370e 100644
--- a/src/core.cpp
+++ b/src/core.cpp
@@ -27,6 +27,7 @@
#include "static_mesh.hpp"
#include "sound.hpp"
#include "sprite.hpp"
+#include "sprite_3d.hpp"
#include "texture.hpp"
#include "vector_3d.hpp"
#include "vector_4d.hpp"
@@ -701,6 +702,26 @@ unload_vk_graphics_pipeline_3d_skeletal(void *obj)
}
void
+load_vk_graphics_pipeline_sprite_3d(void *obj)
+{
+ try
+ {
+ cg_core.vk_graphics_pipeline_sprite_3d =
+ std::make_unique<VK::GraphicsPipelineSprite3D>();
+ }
+ catch(const CommandError &e)
+ {
+ throw CommandError{"Failed to create sprite 3d graphics pipeline."};
+ }
+}
+
+void
+unload_vk_graphics_pipeline_sprite_3d(void *obj)
+{
+ cg_core.vk_graphics_pipeline_sprite_3d = nullptr;
+}
+
+void
load_vk_graphics_pipeline_2d_solid(void *obj)
{
try
@@ -778,6 +799,7 @@ load_mruby_interface(void *obj)
cg_static_mesh_init(cg_core.mrb);
cg_sound_init(cg_core.mrb);
cg_sprite_init(cg_core.mrb);
+ cg_sprite_3d_init(cg_core.mrb);
cg_texture_init(cg_core.mrb);
cg_vector_3d_init(cg_core.mrb);
cg_vector_4d_init(cg_core.mrb);
@@ -818,6 +840,8 @@ const CommandChain cg_sCore::loader{
// {&load_vk_graphics_pipeline_3d_skeletal,
// &unload_vk_graphics_pipeline_3d_skeletal},
{&load_vk_graphics_pipeline_3d, &unload_vk_graphics_pipeline_3d},
+ {&load_vk_graphics_pipeline_sprite_3d,
+ &unload_vk_graphics_pipeline_sprite_3d},
{&load_vk_graphics_pipeline_2d_solid, &unload_vk_graphics_pipeline_2d_solid},
{&load_vk_graphics_pipeline_2d_wired, &unload_vk_graphics_pipeline_2d_wired},