pawengine/kitty.h

27 lines
1 KiB
C
Raw Permalink Normal View History

2025-02-09 18:48:25 +01:00
#ifndef INCLUDE_KITTY
#define INCLUDE_KITTY
#include <vulkan/vulkan.h>
struct Kitty;
struct Kitty *kitty_make();
void kitty_set_vertex_shader(struct Kitty *thingy, const char *path);
void kitty_set_fragment_shader(struct Kitty *thingy, const char *path);
void kitty_set_vertex_buffer(struct Kitty *thingy, void *data, uint32_t count,
int vertex_size);
void kitty_add_vertex_buffer_format(struct Kitty *thingy, enum VkFormat format);
int kitty_attatch_ubo(struct Kitty *thingy, uint32_t size);
void kitty_finalise(struct Vk *state, struct Kitty *thingy);
void kitty_set_next_push_constant(struct Kitty *thingy, void *data);
void kitty_set_next_ubo(struct Vk *state, struct Kitty *thingy, int index,
void *data);
void kitty_draw(struct Vk *state, uint32_t image_index, struct Kitty *thingy);
void free_kitty(struct Vk *state, struct Kitty *kitty);
void kitty_attatch_image(struct Kitty *thingy, const char *path);
void kitty_set_push_constant_size(struct Kitty *thingy, uint32_t size);
#endif // INCLUDE_KITTY