srp
software rendering pipeline
Loading...
Searching...
No Matches
triangle.h
Go to the documentation of this file.
1
// Software Rendering Pipeline (SRP) library
2
// Licensed under GNU GPLv3
3
8
#pragma once
9
10
#include "
srp/framebuffer.h
"
11
#include "
srp/shaders.h
"
12
#include "
srp/vec.h
"
13
18
typedef
struct
SRPTriangle
{
19
SRPVertexShaderOut
v
[3];
20
vec3
*
p_ndc
[3];
21
vec3
ss
[3];
22
vec3
edge
[3];
23
bool
edgeTL
[3];
25
vec2
minBP
;
26
vec2
maxBP
;
27
float
lambda
[3];
28
float
lambda_row
[3];
29
float
dldx
[3];
30
float
dldy
[3];
31
float
invW
[3];
32
bool
isFrontFacing
;
33
size_t
id
;
34
}
SRPTriangle
;
35
41
bool
setupTriangle
(
SRPTriangle
* tri,
const
SRPFramebuffer
* fb);
42
50
void
rasterizeTriangle
(
51
SRPTriangle
* triangle,
const
SRPFramebuffer
* fb,
52
const
SRPShaderProgram
* restrict sp,
void
* interpolatedBuffer
53
);
54
// ingroup Rasterization
framebuffer.h
rasterizeTriangle
void rasterizeTriangle(SRPTriangle *triangle, const SRPFramebuffer *fb, const SRPShaderProgram *restrict sp, void *interpolatedBuffer)
Definition
triangle.c:73
setupTriangle
bool setupTriangle(SRPTriangle *tri, const SRPFramebuffer *fb)
Definition
triangle.c:113
shaders.h
SRPFramebuffer
Definition
framebuffer.h:18
SRPShaderProgram
Definition
shaders.h:93
SRPTriangle
Definition
triangle.h:18
SRPTriangle::dldy
float dldy[3]
Definition
triangle.h:30
SRPTriangle::v
SRPVertexShaderOut v[3]
Definition
triangle.h:19
SRPTriangle::dldx
float dldx[3]
Definition
triangle.h:29
SRPTriangle::minBP
vec2 minBP
Definition
triangle.h:25
SRPTriangle::edgeTL
bool edgeTL[3]
Definition
triangle.h:23
SRPTriangle::maxBP
vec2 maxBP
Definition
triangle.h:26
SRPTriangle::lambda_row
float lambda_row[3]
Definition
triangle.h:28
SRPTriangle::id
size_t id
Definition
triangle.h:33
SRPTriangle::edge
vec3 edge[3]
Definition
triangle.h:22
SRPTriangle::lambda
float lambda[3]
Definition
triangle.h:27
SRPTriangle::invW
float invW[3]
Definition
triangle.h:31
SRPTriangle::p_ndc
vec3 * p_ndc[3]
Definition
triangle.h:20
SRPTriangle::ss
vec3 ss[3]
Definition
triangle.h:21
SRPTriangle::isFrontFacing
bool isFrontFacing
Definition
triangle.h:32
SRPVertexShaderOut
Definition
shaders.h:34
vec2
Definition
vec.h:18
vec3
Definition
vec.h:22
vec.h
src
raster
triangle.h
Generated by
1.9.8