41 lines
790 B
C
41 lines
790 B
C
/**
|
|
* 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);
|