generalization of deferred commands and any_gl rendering where appropriate

This commit is contained in:
veclavtalica
2025-01-03 21:01:26 +03:00
parent edcb7fc39c
commit 33471b4c46
8 changed files with 347 additions and 321 deletions

View File

@ -1,9 +1,12 @@
#ifndef TWN_DRAW_C_H
#define TWN_DRAW_C_H
/* TODO: structure more categorically */
#include "twn_textures_c.h"
#include "twn_text_c.h"
#include "twn_option.h"
#include "twn_deferred_commands.h"
#include <SDL2/SDL.h>
#include <stb_truetype.h>
@ -173,10 +176,12 @@ bool push_to_vertex_buffer_builder(VertexBufferBuilder *builder,
void setup_viewport(int x, int y, int width, int height);
void clear_draw_buffer(void);
void finally_clear_draw_buffer(DeferredCommandClear command);
void swap_buffers(void);
void set_depth_range(double low, double high);
void finally_set_depth_range(DeferredCommandDepthRange command);
VertexBuffer get_quad_element_buffer(void);
@ -187,10 +192,13 @@ void render_circle(const CirclePrimitive *circle);
void render_rectangle(const RectPrimitive *rectangle);
void use_space_pipeline(void);
void finally_use_space_pipeline(void);
void use_2d_pipeline(void);
void finally_use_2d_pipeline(void);
void use_texture_mode(TextureMode mode);
void finally_use_texture_mode(TextureMode mode);
void finally_render_quads(Primitive2D const primitives[],
struct QuadBatch batch,
@ -220,19 +228,18 @@ void finally_draw_text(FontData const *font_data,
VertexBuffer buffer);
void render_skybox(void);
void finally_render_skybox(char *paths_in_use);
void finally_render_skybox(DeferredCommandDrawSkybox);
void apply_fog(void);
void finally_apply_fog(float start, float end, float density, Color color);
void finally_apply_fog(DeferredCommandApplyFog);
void pop_fog(void);
void finally_pop_fog(void);
void start_render_frame(void);
void end_render_frame(void);
void finally_draw_command(DeferredCommandDraw command);
void issue_deferred_draw_commands(void);
#endif