Commit Graph

39 Commits

Author SHA1 Message Date
StapleButter 3aa83ae641 3D:
* undo 'winding sorting' hypothesis
* special depth test rules: 'less than' function becomes 'less or equal' when rendering front-facing polygon pixels against back-facing opaque pixels
2017-07-06 18:38:13 +02:00
StapleButter d5376b4184 3D: Y-sorting 2017-07-05 18:38:10 +02:00
StapleButter 01404ac6c3 3D: move opaque/translucent sorting to GPU3D.cpp 2017-07-05 18:11:00 +02:00
StapleButter 1acf355d99 3D: change viewport handling to match hardware. finally fixes #18 2017-07-04 19:11:43 +02:00
StapleButter da10f9b3f6 fix rendering for crapoed 'butterfly' polygons 2017-06-28 21:19:44 +02:00
StapleButter 5f6e8cc30b fix toon highlight mode. GBAtek is wrong. 2017-06-28 09:19:38 +02:00
StapleButter fa2db3826e (finally) make the threaded 3D renderer option actually work 2017-06-04 15:55:23 +02:00
StapleButter 568b9fbf49 edge marking 2017-06-03 22:33:14 +02:00
StapleButter 64a447bb7c clean up some shit. make framebuffer access less weird. 2017-06-03 22:10:32 +02:00
StapleButter d81b68b16b * fix range for 'equal' Z-test mode
* confirm clear Z value for screen outer borders
* misc code cleanup
2017-06-03 21:46:14 +02:00
StapleButter 77d0a0d76e only do lower-pixel rendering when rendering under an edge 2017-06-01 15:16:44 +02:00
StapleButter d1781c8bf2 remove more per-pixel checks 2017-06-01 14:59:41 +02:00
StapleButter 27c023a0cc separate rasterizer inner loop into three loops for leftedge/middle/rightedge 2017-06-01 01:02:39 +02:00
StapleButter fe55ef1af1 * begin work on antialiasing, but not good yet. also code sucks.
* start making code nicer
2017-06-01 00:45:47 +02:00
StapleButter d3b3255ce3 * add 'push old pixel down' behavior for antialiasing
* delay final pass (edge/fog/AA) one scanline, required for edgemarking
2017-05-28 19:18:16 +02:00
StapleButter ae78faf2a7 rework slope/edge code. lay groundwork for antialiasing. 2017-05-28 18:36:42 +02:00
StapleButter 6f4d835c7f fog 2017-05-26 15:14:22 +02:00
StapleButter a63ab24447 fix crapoed shadows 2017-05-26 04:00:15 +02:00
StapleButter 911888f1e0 fix alpha equation when blending is disabled 2017-05-26 03:16:23 +02:00
StapleButter 8558eff8aa properly reset 3D thread state 2017-05-26 01:22:11 +02:00
StapleButter 4b3caedbe7 first attempt at threading the 3D renderer 2017-05-23 23:38:28 +02:00
StapleButter 88d982b7e3 proper stencil buffer 2017-05-22 22:29:21 +02:00
StapleButter b66ac09e43 make the renderer truly per-scanline 2017-05-22 22:22:26 +02:00
StapleButter cb1b03b253 make the 3D renderer work per-scanline 2017-05-21 20:14:03 +02:00
StapleButter 9fe24cb1e7 latch 3D registers upon VBlank
(fixes the last bugs in Gericom's train game)
2017-05-09 22:22:52 +02:00
StapleButter da31af9202 fix Z-buffering. not really clean, and not perfectly accurate. 2017-04-29 00:20:04 +02:00
StapleButter 9eb68c2ede misc optimizations 2017-04-25 01:14:26 +02:00
StapleButter 1759672d14 a few attempts at optimization 2017-04-23 15:25:15 +02:00
StapleButter 96b471d729 fix shadow oddities
not a proper fix, but shadows aren't emulated properly anyway
2017-04-22 19:06:48 +02:00
StapleButter a086e22023 attempt at shadows. they're still a bit weird tho. 2017-04-22 18:04:54 +02:00
StapleButter 70c72004ac behavior for translucent pixels is preserved even when alphablending is disabled 2017-04-22 17:15:50 +02:00
StapleButter 4f72ee3895 add support for polygon ID and conditional depth update for translucent pixels 2017-04-22 16:47:31 +02:00
StapleButter eb656857d9 optimize the 3D renderer somewhat 2017-04-21 22:40:15 +02:00
StapleButter 796e60828c small optimizations to the 3D renderer 2017-04-13 19:53:09 +02:00
StapleButter c62e160b26 * decal texture blending
* start implementing toon shading
* temp. revert the DMA fix, causes issues
2017-04-12 20:25:54 +02:00
StapleButter 8bbcc83771 * always render normal BG/OBJ graphics (even if they're not getting displayed, they can still be fed to the capture unit)
* fix 3D viewport calculation
* keep track of the clearbuffer attributes before VBlank
2017-04-10 20:24:41 +02:00
StapleButter de4b046232 * more accurate flags (push/pop busy, test busy, vertex/poly overflow)
* more versatile and better clipping code
2017-04-09 16:12:12 +02:00
StapleButter 8c059c9953 * more thread-safe UI
* config system base
* FPS counter and limiter
2017-03-23 17:14:48 +01:00
StapleButter 8a4ed8f41c reorganize repo, move shit around 2017-03-16 23:01:22 +01:00