|
Nugget
Bare-metal libraries and examples for the original PlayStation
|

Go to the source code of this file.
Classes | |
| struct | psyqo::Subdivision::TexturedVertex |
| A model-space vertex and its texture coordinates. More... | |
Namespaces | |
| namespace | psyqo |
| namespace | psyqo::Subdivision |
| Recursive polygon subdivision. | |
Enumerations | |
| enum | psyqo::Subdivision::Edge : unsigned { psyqo::Subdivision::NoEdges = 0 , psyqo::Subdivision::EdgeAB = 1 << 0 , psyqo::Subdivision::EdgeBD = 1 << 1 , psyqo::Subdivision::EdgeCD = 1 << 2 , psyqo::Subdivision::EdgeAC = 1 << 3 , psyqo::Subdivision::AllEdges = EdgeAB | EdgeBD | EdgeCD | EdgeAC } |
| Which edges of a quad lie on an outer boundary. More... | |
Functions | |
| constexpr TexturedVertex | psyqo::Subdivision::half (const TexturedVertex &a, const TexturedVertex &b) |
| Midpoint of two vertices, in position and texture coordinates at once. | |
| template<typename Decide , typename EmitQuad , typename EmitFill > | |
| void | psyqo::Subdivision::divideQuad (const TexturedVertex &a, const TexturedVertex &b, const TexturedVertex &c, const TexturedVertex &d, unsigned depth, unsigned edges, Decide &&decide, EmitQuad &&emitQuad, EmitFill &&emitFill) |
| Recursively divide a quad, in three dimensions. | |