diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-08-21 21:45:38 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-08-21 21:45:38 -0400 |
| commit | 8bbef6b1f8fe61ae8b0f24693af28b7fa6e68237 (patch) | |
| tree | eaddcd8a1f6f735dc6ea2fe3380e5fe1c90754e6 /embed | |
| parent | 77d547596c23d5878fee417d3aa0a3bf38037e65 (diff) | |
pke: embed shaders in executable
Diffstat (limited to 'embed')
| -rw-r--r-- | embed/embedded-file.h | 4 | ||||
| -rw-r--r-- | embed/embedded-fonts.c | 4 | ||||
| -rw-r--r-- | embed/embedded-shaders.c | 24 | ||||
| -rw-r--r-- | embed/embedded-shaders.h | 19 |
4 files changed, 48 insertions, 3 deletions
diff --git a/embed/embedded-file.h b/embed/embedded-file.h index 85f2a34..504225c 100644 --- a/embed/embedded-file.h +++ b/embed/embedded-file.h @@ -1,10 +1,12 @@ #ifndef PKE_EMBED_EMBEDDED_FILE_H #define PKE_EMBED_EMBEDDED_FILE_H +#include "../src/asset-types.h" + #include <stddef.h> struct embedded_file { - const char *name; + AssetKey name; const unsigned char *data; const size_t size; }; diff --git a/embed/embedded-fonts.c b/embed/embedded-fonts.c index ca85d91..187072f 100644 --- a/embed/embedded-fonts.c +++ b/embed/embedded-fonts.c @@ -4,6 +4,6 @@ #include "../assets/fonts/font_mannequin_glyph.h" const struct embedded_file embedded_fonts[] = { - { "fnt_mquin_img\0\0", assets_fonts_font_mannequin_png, assets_fonts_font_mannequin_png_len }, - { "fnt_mquin_gly\0\0", assets_fonts_font_mannequin_glyph, assets_fonts_font_mannequin_glyph_len }, + { "fnt_mquin_img\0", assets_fonts_font_mannequin_png, assets_fonts_font_mannequin_png_len }, + { "fnt_mquin_gly\0", assets_fonts_font_mannequin_glyph, assets_fonts_font_mannequin_glyph_len }, }; diff --git a/embed/embedded-shaders.c b/embed/embedded-shaders.c new file mode 100644 index 0000000..5e0a71a --- /dev/null +++ b/embed/embedded-shaders.c @@ -0,0 +1,24 @@ + +#include "embedded-shaders.h" + +#include "../../obj/shaders/3d_frag_spv.h" +#include "../../obj/shaders/3d_vert_spv.h" +#include "../../obj/shaders/glyph_frag_spv.h" +#include "../../obj/shaders/glyph_vert_spv.h" +#include "../../obj/shaders/present_frag_spv.h" +#include "../../obj/shaders/present_vert_spv.h" +#include "../../obj/shaders/ui_base_frag_spv.h" +#include "../../obj/shaders/ui_base_vert_spv.h" +#include "../../obj/shaders/ui_txtr_frag_spv.h" + +const struct embedded_file embedded_shaders[] = { + { "shdr-3d-frag\0\0\0\0", obj_shaders_3d_frag_spv, obj_shaders_3d_frag_spv_len, }, + { "shdr-3d-vert\0\0\0\0", obj_shaders_3d_vert_spv, obj_shaders_3d_vert_spv_len, }, + { "shdr-glyph-frag\0", obj_shaders_glyph_frag_spv, obj_shaders_glyph_frag_spv_len, }, + { "shdr-glyph-vert\0", obj_shaders_glyph_vert_spv, obj_shaders_glyph_vert_spv_len, }, + { "shdr-prsnt-frag\0", obj_shaders_present_frag_spv, obj_shaders_present_frag_spv_len, }, + { "shdr-prsnt-vert\0", obj_shaders_present_vert_spv, obj_shaders_present_vert_spv_len, }, + { "shdr-ui-bs-frag\0", obj_shaders_ui_base_frag_spv, obj_shaders_ui_base_frag_spv_len, }, + { "shdr-ui-bs-vert\0", obj_shaders_ui_base_vert_spv, obj_shaders_ui_base_vert_spv_len, }, + { "shdr-ui-tx-frag\0", obj_shaders_ui_txtr_frag_spv, obj_shaders_ui_txtr_frag_spv_len, }, +}; diff --git a/embed/embedded-shaders.h b/embed/embedded-shaders.h new file mode 100644 index 0000000..94869e2 --- /dev/null +++ b/embed/embedded-shaders.h @@ -0,0 +1,19 @@ +#ifndef PKE_EMBED_EMBEDDED_SHADERS_H +#define PKE_EMBED_EMBEDDED_SHADERS_H + +#include "embedded-file.h" + +#define embedded_shader_index_3d_frag 0 +#define embedded_shader_index_3d_vert 1 +#define embedded_shader_index_glyph_frag 2 +#define embedded_shader_index_glyph_vert 3 +#define embedded_shader_index_present_frag 4 +#define embedded_shader_index_present_vert 5 +#define embedded_shader_index_ui_base_frag 6 +#define embedded_shader_index_ui_base_vert 7 +#define embedded_shader_index_ui_texture_frag 8 +#define embedded_shader_index_count 9 + +extern const struct embedded_file embedded_shaders[]; + +#endif /* PKE_EMBED_EMBEDDED_SHADERS_H */ |
