/** * Copyright (c) 2026 Dominic Masters * * This software is released under the MIT License. * https://opensource.org/licenses/MIT */ #pragma once #include "display/shader/shader.h" #include "display/shader/shaderunlit.h" typedef enum { SHADER_LIST_SHADER_NULL, SHADER_LIST_SHADER_UNLIT, SHADER_LIST_SHADER_COUNT } shaderlistshader_t; typedef struct { shader_t *shader; shaderdefinition_t *definition; } shaderlistdef_t; extern shaderlistdef_t SHADER_LIST_DEFS[SHADER_LIST_SHADER_COUNT]; /** * Initializes all default shaders and uploads the initial view, projection, * and model matrices to each. * * @return Error state. */ errorret_t shaderListInit(); /** * Disposes all default shaders. * * @return Error state. */ errorret_t shaderListDispose(void);