#ifndef RENDERER_H #define RENDERER_H #include "Rendering/AOV.h" #include "Rendering/Debug.h" #include "Rendering/Scene.h" typedef enum { RENDER_PROGRESSIVE = 0, RENDER_TILE_BASED = 1, } rendering_mode_t; typedef struct { uint32_t width; uint32_t height; uint32_t sample_count; uint8_t max_depth; uint32_t bucket_size; } rendering_config_t; typedef struct { scene_t* scene; render_target_t** aov_target; const rendering_config_t* config; rendering_mode_t rendering_mode; aov_flags_t aov_flags; bool is_done; } render_job_t; bool renderer_aov_target_init(render_job_t* job, aov_flags_t aov_flags); void renderer_start(render_job_t* job); void render_job_free(render_job_t* job); #endif // RENDERER_H