From 4c560f3324e68e4aab20f6855ddc1a3f569ca0c7 Mon Sep 17 00:00:00 2001 From: Arisotura Date: Sat, 11 Apr 2020 23:56:36 +0200 Subject: GPU3D: swap vin and vout during clipping, giving results that are closer to hardware. fixes #598 and also fixes #379 --- src/GPU3D.cpp | 2 +- src/libui_sdl/MelonCap.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/GPU3D.cpp b/src/GPU3D.cpp index 52bc10f..1b316d5 100644 --- a/src/GPU3D.cpp +++ b/src/GPU3D.cpp @@ -888,7 +888,7 @@ void StallPolygonPipeline(s32 delay, s32 nonstalldelay) template -void ClipSegment(Vertex* outbuf, Vertex* vout, Vertex* vin) +void ClipSegment(Vertex* outbuf, Vertex* vin, Vertex* vout) { s64 factor_num = vin->Position[3] - (plane*vin->Position[comp]); s32 factor_den = factor_num - (vout->Position[3] - (plane*vout->Position[comp])); diff --git a/src/libui_sdl/MelonCap.cpp b/src/libui_sdl/MelonCap.cpp index 6e45bf5..2658b66 100644 --- a/src/libui_sdl/MelonCap.cpp +++ b/src/libui_sdl/MelonCap.cpp @@ -336,8 +336,8 @@ void Update() colA &= mask; colB &= mask; - if (colA == colB) WinBitmapData[(y*768) + x + 512] = 0xFF00FF00; - else WinBitmapData[(y*768) + x + 512] = 0xFFFF0000; + if (colA == colB) WinBitmapData[(y*768) + x + 512] = 0xFF000000;//0xFF00FF00; + else WinBitmapData[(y*768) + x + 512] = 0xFFFFFFFF;//0xFFFF0000; } } -- cgit v1.2.3