srp
software rendering pipeline
Loading...
Searching...
No Matches
shaders.h
Go to the documentation of this file.
1// Software Rendering Pipeline (SRP) library
2// Licensed under GNU GPLv3
3
4#pragma once
5
9#include <stdbool.h>
10#include "vertex.h"
11
17typedef struct SRPUniform SRPUniform;
18
19
28
36
51
52
63
66typedef struct SRPfsOutput
67{
68 double color[4];
69 double fragDepth;
72
75typedef struct SRPFragmentShader
76{
77 void (*shader)(SRPfsInput* in, SRPfsOutput* out);
79
80
92
// defgroup Shaders
94
struct SRPUniform SRPUniform
Definition shaders.h:17
struct SRPVertexVariable SRPVertexVariable
Definition vertex.h:21
struct SRPInterpolated SRPInterpolated
Definition vertex.h:33
struct SRPVertex SRPVertex
Definition vertex.h:17
Definition shaders.h:76
Definition shaders.h:86
SRPVertexShader * vs
Definition shaders.h:89
SRPFragmentShader * fs
Definition shaders.h:90
Definition shaders.h:40
size_t nBytesPerOutputVariables
Definition shaders.h:49
size_t nOutputVariables
Definition shaders.h:44
void(* shader)(SRPvsInput *in, SRPvsOutput *out)
Definition shaders.h:42
Definition vertex.h:26
Definition shaders.h:56
size_t primitiveID
Definition shaders.h:61
SRPInterpolated * interpolated
Definition shaders.h:58
bool frontFacing
Definition shaders.h:60
SRPUniform * uniform
Definition shaders.h:57
double fragCoord[4]
Definition shaders.h:59
Definition shaders.h:67
double color[4]
Definition shaders.h:68
double fragDepth
Definition shaders.h:69
Definition shaders.h:23
SRPUniform * uniform
Definition shaders.h:24
size_t vertexID
Definition shaders.h:26
SRPVertex * pVertex
Definition shaders.h:25
Definition shaders.h:32
double position[4]
Definition shaders.h:33
SRPVertexVariable * pOutputVariables
Definition shaders.h:34