/** * Copyright (c) 2021 Dominic Masters * * This software is released under the MIT License. * https://opensource.org/licenses/MIT */ #pragma once #include "../libs.h" #include "../util/dynarray.h" #include "../engine/engine.h" #include "framebuffer.h" #include "shader.h" #include "primitive.h" typedef struct { framebuffer_t frame; shader_t *shader; } renderpass_t; typedef struct { framebuffer_t frame; primitive_t quad; dynarray_t passes; void *user; } renderlist_t; typedef void renderitemcallback_t( renderlist_t *list, renderpass_t *pass, engine_t *engine, int32_t i ); typedef struct { renderitemcallback_t *onRender; } renderitem_t;