26 lines
1 KiB
C
26 lines
1 KiB
C
#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
|