From e4b80f60a4b713a85f9be16da9ce85bdff900fda Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Thu, 15 Feb 2024 19:30:10 +1100 Subject: [PATCH] Dreamcast: Draw each quad as a triangle strip instead of two triangles --- third_party/gldc/src/sh4.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/third_party/gldc/src/sh4.c b/third_party/gldc/src/sh4.c index 7d349d641..03fd9e18c 100644 --- a/third_party/gldc/src/sh4.c +++ b/third_party/gldc/src/sh4.c @@ -360,26 +360,18 @@ void SceneListSubmit(Vertex* v3, int n) { switch(visible_mask) { case V0_VIS | V1_VIS | V2_VIS | V3_VIS: // All vertices visible { - _glPerspectiveDivideVertex(v0); - _glPushHeaderOrVertex(v0); - + // Triangle strip: {1,2,0} {2,0,3} _glPerspectiveDivideVertex(v1); _glPushHeaderOrVertex(v1); - v2->flags = GPU_CMD_VERTEX_EOL; _glPerspectiveDivideVertex(v2); _glPushHeaderOrVertex(v2); - - v2->flags = GPU_CMD_VERTEX; - _glPushHeaderOrVertex(v2); + _glPerspectiveDivideVertex(v0); + _glPushHeaderOrVertex(v0); - v3->flags = GPU_CMD_VERTEX; _glPerspectiveDivideVertex(v3); _glPushHeaderOrVertex(v3); - - v0->flags = GPU_CMD_VERTEX_EOL; - _glPushHeaderOrVertex(v0); } break;