summaryrefslogtreecommitdiff
path: root/src/sprite.cpp
diff options
context:
space:
mode:
authorFrederico Linhares <fred@linhares.blue>2022-09-16 12:03:04 -0300
committerFrederico Linhares <fred@linhares.blue>2022-09-16 12:03:04 -0300
commit3d6ca447a7104c499e92fc954affdaf4bf011388 (patch)
treed759fbd39d3d66a2457ea92fc4eeb2c31b2cbe4f /src/sprite.cpp
parent0d0868611389b8dded0c1dfef7a530a4b6e1f148 (diff)
feat Create View
Diffstat (limited to 'src/sprite.cpp')
-rw-r--r--src/sprite.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/sprite.cpp b/src/sprite.cpp
index 7c1f109..96a702a 100644
--- a/src/sprite.cpp
+++ b/src/sprite.cpp
@@ -17,8 +17,9 @@
#include "sprite.hpp"
#include "texture.hpp"
-#include "vk/sprite.hpp"
#include "vector_4d.hpp"
+#include "view.hpp"
+#include "vk/sprite.hpp"
void
cg_free_sprite(mrb_state *mrb, void* obj)
@@ -55,13 +56,13 @@ cg_cSprite_initialize(mrb_state *mrb, mrb_value self)
static mrb_value
cg_cSprite_draw(mrb_state *mrb, mrb_value self)
{
- auto *ptr = (std::shared_ptr<VK::Sprite>*)DATA_PTR(self);
-
+ std::shared_ptr<VK::View> *view;
std::shared_ptr<glm::vec4> *position;
+ auto *ptr = (std::shared_ptr<VK::Sprite>*)DATA_PTR(self);
- mrb_get_args(mrb, "d", &position, &cg_vector_4d_type);
- auto &positions = cg_core.vk_graphics_pipeline_2d->sprites_to_draw[
- cg_core.vk_renderer->current_frame][*ptr];
+ mrb_get_args(mrb, "dd", &view, &cg_view_type, &position, &cg_vector_4d_type);
+ auto &positions = (*view)->sprites_to_draw[
+ cg_core.vk_swapchain->current_frame][*ptr];
positions.push_back(*position->get());
return self;
@@ -77,5 +78,5 @@ cg_sprite_init(mrb_state *mrb)
MRB_SET_INSTANCE_TT(cg_cSprite, MRB_TT_DATA);
mrb_define_method(
mrb, cg_cSprite, "initialize", cg_cSprite_initialize, MRB_ARGS_REQ(2));
- mrb_define_method(mrb, cg_cSprite, "draw", cg_cSprite_draw, MRB_ARGS_REQ(1));
+ mrb_define_method(mrb, cg_cSprite, "draw", cg_cSprite_draw, MRB_ARGS_REQ(2));
}