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
10#include <stdbool.h>
11#include "srp/vertex.h"
12
19typedef struct SRPUniform SRPUniform;
20
21
30
33typedef struct SRPVertexShaderOut
34{
35 union {
36 float clipPosition[4];
37 float ndcPosition[4];
38 };
41
55
56
67
76
87
88
98
// ingroup Shaders
struct SRPUniform SRPUniform
Definition shaders.h:19
struct SRPVertex SRPVertex
Definition vertex.h:17
Definition shaders.h:60
SRPInterpolated * varyings
Definition shaders.h:62
size_t primitiveID
Definition shaders.h:65
float fragCoord[4]
Definition shaders.h:63
SRPUniform * uniform
Definition shaders.h:61
bool frontFacing
Definition shaders.h:64
Definition shaders.h:71
float color[4]
Definition shaders.h:72
float fragDepth
Definition shaders.h:73
Definition shaders.h:80
void(* shader)(SRPFragmentShaderIn *in, SRPFragmentShaderOut *out)
Definition shaders.h:82
bool mayOverwriteDepth
Definition shaders.h:85
Definition shaders.h:93
SRPVertexShader * vs
Definition shaders.h:95
SRPFragmentShader * fs
Definition shaders.h:96
Definition vertex.h:37
Definition shaders.h:25
size_t vertexID
Definition shaders.h:28
SRPUniform * uniform
Definition shaders.h:26
SRPVertex * vertex
Definition shaders.h:27
Definition shaders.h:34
SRPVarying * varyings
Definition shaders.h:39
float ndcPosition[4]
Definition shaders.h:37
float clipPosition[4]
Definition shaders.h:36
Definition shaders.h:45
SRPVaryingInfo * varyingsInfo
Definition shaders.h:51
size_t nVaryings
Definition shaders.h:49
void(* shader)(SRPVertexShaderIn *in, SRPVertexShaderOut *out)
Definition shaders.h:47
size_t varyingsSize
Definition shaders.h:53
struct SRPInterpolated SRPInterpolated
Definition vertex.h:46
struct SRPVarying SRPVarying
Definition vertex.h:21