8f031f698b
normalize W values in both directions (0123-0157 -> 1230-1570)
2017-07-06 18:54:51 +02:00
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
dc32613028
3D: opaque polygons are sorted by winding order
...
the Sands of Destruction character menu relies on this, it mixes and matches polygon windings to thwart Y-sorting
2017-07-06 02:02:30 +02:00
d5376b4184
3D: Y-sorting
2017-07-05 18:38:10 +02:00
01404ac6c3
3D: move opaque/translucent sorting to GPU3D.cpp
2017-07-05 18:11:00 +02:00
1acf355d99
3D: change viewport handling to match hardware. finally fixes #18
2017-07-04 19:11:43 +02:00
ad58a68fc9
3D: fix boxtest coord overflow. fixes #57
2017-06-29 09:48:41 +02:00
da10f9b3f6
fix rendering for crapoed 'butterfly' polygons
2017-06-28 21:19:44 +02:00
f113f2f26e
3D: fix missing term in MatrixTranslate(). fixes Monster Trucks billboards.
2017-06-27 20:52:38 +02:00
155609b6d9
initialize clearZ to 0x7FFF. fixes #38
2017-06-26 01:18:54 +02:00
64a447bb7c
clean up some shit. make framebuffer access less weird.
2017-06-03 22:10:32 +02:00
ae78faf2a7
rework slope/edge code. lay groundwork for antialiasing.
2017-05-28 18:36:42 +02:00
6f4d835c7f
fog
2017-05-26 15:14:22 +02:00
a63ab24447
fix crapoed shadows
2017-05-26 04:00:15 +02:00
4b3caedbe7
first attempt at threading the 3D renderer
2017-05-23 23:38:28 +02:00
9fe24cb1e7
latch 3D registers upon VBlank
...
(fixes the last bugs in Gericom's train game)
2017-05-09 22:22:52 +02:00
50d2ffb207
misc. things
2017-05-09 03:54:37 +02:00
7c1443b973
fix lighting behavior with normals that overflow
2017-05-03 23:54:31 +02:00
9e622dcc66
3D: attempt at fixing culling. players in Madden are no longer full of holes, and that also fixes occasional missing polygons in RaymanDS, and probably others.
2017-05-03 01:21:39 +02:00
da31af9202
fix Z-buffering. not really clean, and not perfectly accurate.
2017-04-29 00:20:04 +02:00
2273bd2ea4
fix texcoord-from-vertex mode. it works like for normals (1.0 = 1/16 texel)
2017-04-28 17:35:57 +02:00
9eb68c2ede
misc optimizations
2017-04-25 01:14:26 +02:00
1759672d14
a few attempts at optimization
2017-04-23 15:25:15 +02:00
60cdc7d6f7
fix display capture. dumb bug of the year.
2017-04-23 01:05:04 +02:00
a086e22023
attempt at shadows. they're still a bit weird tho.
2017-04-22 18:04:54 +02:00
eb656857d9
optimize the 3D renderer somewhat
2017-04-21 22:40:15 +02:00
c62e160b26
* decal texture blending
...
* start implementing toon shading
* temp. revert the DMA fix, causes issues
2017-04-12 20:25:54 +02:00
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
2fef876eeb
box test, pos test, vec test
2017-04-09 17:15:39 +02:00
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
3f3b2977d7
* sound capture from left/right mixers
...
* support for appropriate output modes
2017-04-08 22:59:27 +02:00
8c059c9953
* more thread-safe UI
...
* config system base
* FPS counter and limiter
2017-03-23 17:14:48 +01:00
91f46b00fb
fix bug that occured when a flush command was sent between lines 192 and 215
2017-03-21 18:08:11 +01:00
3590d210f3
always apply matrix push/pop/store/restore to the vector matrix stack, even in mode 1. fixes SM64DS lighting.
2017-03-21 12:52:17 +01:00
3dd79d63f1
start 3D rendering at scanline 215. fixes Worms2D.
2017-03-21 11:45:12 +01:00
8a4ed8f41c
reorganize repo, move shit around
2017-03-16 23:01:22 +01:00