Reformat
This commit is contained in:
parent
fb1b8457d6
commit
09e9f611f8
@ -5,16 +5,15 @@
|
||||
|
||||
typedef struct shader_repo ShaderRepo;
|
||||
struct shader_repo {
|
||||
void *shaders[MAX_SHADER_COUNT];
|
||||
VertexShader *vertex_funcs[MAX_SHADER_COUNT];
|
||||
void *shaders[MAX_SHADER_COUNT];
|
||||
VertexShader *vertex_funcs[MAX_SHADER_COUNT];
|
||||
FragmentShader *fragment_funcs[MAX_SHADER_COUNT];
|
||||
u64 count;
|
||||
u64 count;
|
||||
};
|
||||
|
||||
internal ShaderRepo g_repository = {0};
|
||||
|
||||
ShaderID register_shader(void *shader, VertexShader *vertex,
|
||||
FragmentShader *fragment) {
|
||||
ShaderID register_shader(void *shader, VertexShader *vertex, FragmentShader *fragment) {
|
||||
if (g_repository.count + 1 >= MAX_SHADER_COUNT) {
|
||||
return INVALID_SHADER;
|
||||
}
|
||||
@ -27,8 +26,7 @@ ShaderID register_shader(void *shader, VertexShader *vertex,
|
||||
return (ShaderID){g_repository.count};
|
||||
}
|
||||
|
||||
VertexData run_vertex_shader(ShaderID shader, const VertexData *vert, u8 index,
|
||||
const Model *model) {
|
||||
VertexData run_vertex_shader(ShaderID shader, const VertexData *vert, u8 index, const Model *model) {
|
||||
if (IS_INVALID_SHADER(shader) || shader.id > g_repository.count || !vert || !model) {
|
||||
return (VertexData){0};
|
||||
}
|
||||
@ -43,8 +41,8 @@ VertexData run_vertex_shader(ShaderID shader, const VertexData *vert, u8 index,
|
||||
return vertex_func(shader_obj, vert, index, model);
|
||||
}
|
||||
|
||||
FragmentResult run_fragment_shader(ShaderID shader, const V3f *barycentric,
|
||||
const Colour *colour, const Model *model) {
|
||||
FragmentResult run_fragment_shader(ShaderID shader, const V3f *barycentric, const Colour *colour,
|
||||
const Model *model) {
|
||||
if (IS_INVALID_SHADER(shader) || shader.id > g_repository.count || !colour) {
|
||||
return DISCARDED_FRAGMENT;
|
||||
}
|
||||
|
@ -24,22 +24,17 @@ struct fragment_result {
|
||||
bool discard;
|
||||
};
|
||||
|
||||
#define INVALID_SHADER ((ShaderID){0})
|
||||
#define IS_INVALID_SHADER(ID) (ID.id == 0)
|
||||
#define DISCARDED_FRAGMENT ((FragmentResult){.discard = true})
|
||||
#define INVALID_SHADER ((ShaderID){0})
|
||||
#define IS_INVALID_SHADER(ID) (ID.id == 0)
|
||||
#define DISCARDED_FRAGMENT ((FragmentResult){.discard = true})
|
||||
#define DISCARD_FRAGMENT(RESULT) (RESULT.discard)
|
||||
|
||||
typedef VertexData(VertexShader)(void *shader, const VertexData *vert, u8 index,
|
||||
const Model *model);
|
||||
typedef FragmentResult(FragmentShader)(void *shader, const V3f *barycentric,
|
||||
const Colour *colour,
|
||||
typedef VertexData(VertexShader)(void *shader, const VertexData *vert, u8 index, const Model *model);
|
||||
typedef FragmentResult(FragmentShader)(void *shader, const V3f *barycentric, const Colour *colour,
|
||||
const Model *model);
|
||||
|
||||
ShaderID register_shader(void *shader, VertexShader *vertex,
|
||||
FragmentShader *fragment);
|
||||
VertexData run_vertex_shader(ShaderID shader, const VertexData *vert, u8 index,
|
||||
const Model *model);
|
||||
FragmentResult run_fragment_shader(ShaderID shader, const V3f *barycentric,
|
||||
const Colour *colour, const Model *model);
|
||||
ShaderID register_shader(void *shader, VertexShader *vertex, FragmentShader *fragment);
|
||||
VertexData run_vertex_shader(ShaderID shader, const VertexData *vert, u8 index, const Model *model);
|
||||
FragmentResult run_fragment_shader(ShaderID shader, const V3f *barycentric, const Colour *colour, const Model *model);
|
||||
|
||||
#endif // SHADER_H
|
||||
|
Loading…
Reference in New Issue
Block a user