40 lines
759 B
C
40 lines
759 B
C
#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
|