|
srp
software rendering pipeline
|
#include <triangle.h>

Public Attributes | |
| SRPVertexShaderOut | v [3] |
| vec3 * | p_ndc [3] |
| vec3 | ss [3] |
| vec3 | edge [3] |
| bool | edgeTL [3] |
| vec2 | minBP |
| vec2 | maxBP |
| float | lambda [3] |
| float | lambda_row [3] |
| float | dldx [3] |
| float | dldy [3] |
| float | invW [3] |
| bool | isFrontFacing |
| size_t | id |
Triangle primitive. Stores data needed for its rasterization
| float SRPTriangle::dldx[3] |
Barycentric coordinates' delta values for +X movement
| float SRPTriangle::dldy[3] |
Barycentric coordinates' delta values for +Y movement
| vec3 SRPTriangle::edge[3] |
Screen space edge vectors
| bool SRPTriangle::edgeTL[3] |
Whether or not the edge is flat top or left (0th edge: 0th vertex -> 1st vertex, etc.)
| size_t SRPTriangle::id |
ID of the primitive, starting from 0
| float SRPTriangle::invW[3] |
1 / clip-space W. Needed for perspective-correct interpolation
| bool SRPTriangle::isFrontFacing |
Whether or not the triangle is front-facing
| float SRPTriangle::lambda[3] |
Barycentric coordinates at the current pixel
| float SRPTriangle::lambda_row[3] |
Barycentric coordinates at the beginning of the row
| vec2 SRPTriangle::maxBP |
Maximum bounding point (screen-space)
| vec2 SRPTriangle::minBP |
Minimum bounding point (screen-space)
| vec3* SRPTriangle::p_ndc[3] |
Pointers to vertices' positions in NDC
| vec3 SRPTriangle::ss[3] |
Vertices' positions in screen-space
| SRPVertexShaderOut SRPTriangle::v[3] |
Outputs of the vertex shader