diff options
Diffstat (limited to 'src/gfx/irodeo_gfx_t.h')
| -rw-r--r-- | src/gfx/irodeo_gfx_t.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/gfx/irodeo_gfx_t.h b/src/gfx/irodeo_gfx_t.h new file mode 100644 index 0000000..7d9d1b7 --- /dev/null +++ b/src/gfx/irodeo_gfx_t.h @@ -0,0 +1,49 @@ +#pragma once + +// -- internal -- +// public +#include "rodeo/gfx_t.h" + +// -- external -- +#include "bgfx/c99/bgfx.h" +#define CGLM_FORCE_DEPTH_ZERO_TO_ONE +#include "cglm/mat4.h" + +typedef uint16_t irodeo_index_type_t; + +typedef +struct +{ + bgfx_vertex_layout_t vertex_layout; + //bgfx_dynamic_vertex_buffer_handle_t vertex_buffer_handle; + //bgfx_dynamic_index_buffer_handle_t index_buffer_handle; + bgfx_transient_vertex_buffer_t vertex_buffer_handle; + bgfx_transient_index_buffer_t index_buffer_handle; + rodeo_gfx_vertex_t *batched_vertices; + irodeo_index_type_t *batched_indices; + irodeo_index_type_t vertex_size; + irodeo_index_type_t index_count; + irodeo_index_type_t index_size; + //irodeo_index_type_t batched_indices[(mrodeo_vertex_size_max / 4) * 6]; + rodeo_gfx_texture_2d_t default_texture; + bgfx_texture_handle_t *active_texture_p; + bgfx_shader_handle_t vertex_shader; + bgfx_shader_handle_t fragment_shader; + bgfx_program_handle_t program_shader; + bgfx_uniform_handle_t texture_uniforms[2]; + mat4 view_matrix; + mat4 proj_matrix; + uint64_t frame_count; + uint32_t frame_limit; + uint32_t frame_start; + uint32_t frame_end; + float frame_time; +} +irodeo_gfx_state_t; + +struct +irodeo_gfx_texture_internal +{ + bgfx_texture_handle_t texture_bgfx; +}; + |
