mirror of
https://github.com/Lime3DS/Lime3DS
synced 2024-12-27 17:42:40 -06:00
Pica/PrimitiveAssembly: Fix triangle strips and fans being generated with incorrect winding order.
This commit is contained in:
parent
8a1cc5b805
commit
5742367341
1 changed files with 3 additions and 6 deletions
|
@ -33,12 +33,9 @@ void PrimitiveAssembler<VertexType>::SubmitVertex(VertexType& vtx, TriangleHandl
|
||||||
|
|
||||||
case Regs::TriangleTopology::Strip:
|
case Regs::TriangleTopology::Strip:
|
||||||
case Regs::TriangleTopology::Fan:
|
case Regs::TriangleTopology::Fan:
|
||||||
if (strip_ready) {
|
if (strip_ready)
|
||||||
// TODO: Should be "buffer[0], buffer[1], vtx" instead!
|
triangle_handler(buffer[0], buffer[1], vtx);
|
||||||
// Not quite sure why we need this order for things to show up properly.
|
|
||||||
// Maybe a bug in the rasterizer?
|
|
||||||
triangle_handler(buffer[1], buffer[0], vtx);
|
|
||||||
}
|
|
||||||
buffer[buffer_index] = vtx;
|
buffer[buffer_index] = vtx;
|
||||||
|
|
||||||
if (topology == Regs::TriangleTopology::Strip) {
|
if (topology == Regs::TriangleTopology::Strip) {
|
||||||
|
|
Loading…
Reference in a new issue