remove vertex_buffer and index_buffer for characters and character shadows

refactor world shader vertex position calculation
This commit is contained in:
Sven Balzer
2026-08-04 09:42:25 +02:00
parent 74d55cb087
commit 6a984b40d9
12 changed files with 229 additions and 224 deletions
+2 -33
View File
@@ -44,8 +44,6 @@ static R_Buffer view_projection_matrix_buffer;
static R_Buffer per_frame_buffer;
static R_Buffer tint_color_buffer;
static R_Buffer vertex_buffer;
static R_Buffer index_buffer;
static R_Buffer player_instance_buffer;
static R_Buffer tile_uvs_buffer;
@@ -170,23 +168,6 @@ enum Settings_Category {
SETTINGS_AUDIO,
};
struct Vertex {
vec3 pos;
vec2 uv;
};
static Vertex vertices[] = {
{{ -0.5f, 0.5f, 0.0f }, { 0.0f, 0.0f }},
{{ -0.5f, -0.5f, 0.0f }, { 0.0f, 1.0f }},
{{ 0.5f, -0.5f, 0.0f }, { 1.0f, 1.0f }},
{{ 0.5f, 0.5f, 0.0f }, { 1.0f, 0.0f }},
};
static Uint16 indices[] = {
0, 1, 2,
0, 2, 3,
};
struct Instance {
vec2 pos;
uint32_t sprite_selection;
@@ -892,18 +873,6 @@ static bool init_resources() {
return false;
}
vertex_buffer = renderer_buffer_create(R_BUFFER_USAGE_VERTEX, sizeof(vertices), vertices, "vertex_buffer");
if (!vertex_buffer) {
log_error("Failed to create buffer.");
return false;
}
index_buffer = renderer_buffer_create(R_BUFFER_USAGE_INDEX, sizeof(indices), indices, "index_buffer");
if (!index_buffer) {
log_error("Failed to create buffer.");
return false;
}
player_instance_buffer = renderer_buffer_create(R_BUFFER_USAGE_VERTEX, sizeof(player_instance), &player_instance, "player_instance_buffer");
if (!player_instance_buffer) {
log_error("Failed to create buffer.");
@@ -1564,7 +1533,7 @@ static void render_game() {
{
ZoneScopedN("Draw Player");
renderer_frame_set_shader(R_SHADER_CHARACTER_SHADOW);
renderer_frame_draw(vertex_buffer, index_buffer, player_instance_buffer, 6, 1, &(R_Draw_Resources){
renderer_frame_draw(NULL, NULL, player_instance_buffer, 6, 1, &(R_Draw_Resources){
.vertex_uniform_buffers = (R_Buffer[]){ view_projection_matrix_buffer },
.num_vertex_uniform_buffers = 1,
@@ -1577,7 +1546,7 @@ static void render_game() {
});
renderer_frame_set_shader(R_SHADER_CHARACTER);
renderer_frame_draw(vertex_buffer, index_buffer, player_instance_buffer, 6, 1, &(R_Draw_Resources){
renderer_frame_draw(NULL, NULL, player_instance_buffer, 6, 1, &(R_Draw_Resources){
.vertex_uniform_buffers = (R_Buffer[]){ view_projection_matrix_buffer },
.num_vertex_uniform_buffers = 1,