diff options
| author | realtradam <[email protected]> | 2023-06-04 02:35:00 -0400 |
|---|---|---|
| committer | realtradam <[email protected]> | 2023-06-04 02:35:00 -0400 |
| commit | 35558b39040d37c939bd68b56985d6cb5385a451 (patch) | |
| tree | b10516557ba530d96799a8c4bed94b7644938811 /src/gfx/irodeo_gfx_t.h | |
| parent | 856ce67eb21f64d86ecf6bb3651985f10e6236c3 (diff) | |
| download | RodeoKit-gfx-rewrite.tar.gz RodeoKit-gfx-rewrite.zip | |
refactor to have graphics and windowing seperategfx-rewrite
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; +}; + |
