aboutsummaryrefslogtreecommitdiff
path: root/src/GPU3D_Soft.cpp
Commit message (Collapse)AuthorAge
* 3D: in Z-buffering mode, margin for 'equal' depth test mode is +-0x200, not ↵StapleButter2018-12-13
| | | | | | +-0xFF fixes #274
* 3D: keep the rasterizer from accidentally going out of bounds when given ↵StapleButter2018-11-04
| | | | | | | | very flat X-major edge slopes. this, by a fucking shitshow of butterfly effect, ends up fixing #234. technically, the rasterizer was going out of bounds, which, under certain circumstances, caused interpolation to shit itself and generate Z values that were out of range (but still ended up in the zbuffer). sometimes those values ended up negative, which caused these glitches when polygons had to be drawn over those. about fucking time.
* 3D: attempt at fixing that shadow/AA interaction bug in the MKDS character ↵StapleButter2018-10-22
| | | | select screen
* fixor copyright years.StapleButter2018-09-15
|
* this TODO item is already done, idiotStapleButter2017-10-02
|
* 3D: blend translucent pixels with bottom pixels when needed.StapleButter2017-08-28
| | | | fixes antialiasing within shadows, under translucent polygons, etc
* 3D: move shadow mask rendering to separate function, optimize it (it doesn't ↵StapleButter2017-08-28
| | | | need to interpolate all vertex attributes)
* fix antialiasing along Y-major edgesStapleButter2017-08-28
|
* 3D:StapleButter2017-08-28
| | | | | * more accurate polygon edges (still not perfect. heh) * antialiasing (doesn't always work)
* 3D: faster and more accurate interpolationStapleButter2017-08-17
|
* 3D: revise fog calculation to match hardware (emulate precision loss and ↵StapleButter2017-08-16
| | | | overflow with big shifts)
* * FPS counter displays target framerateStapleButter2017-07-21
| | | | * fix potential hang and out-of-bounds drawing when VCount is modified during drawing
* separate polygonID attributes for opaque and translucent pixels.StapleButter2017-07-15
| | | | | | rendering translucent pixels preserves opaque polygonID and edge flags for edgemarking. fixes edgemarking malfunctions, like #80 or black dots in Pokémon games
* apply the interpolation fix to Z interpolation.StapleButter2017-07-14
| | | | | | more accurate conversion of Z values. but this doesn't fix the horrendous Z-fighting in Pokémon B/W because of course it doesn't >_<
* fix potential overflow in fog density calculationStapleButter2017-07-14
|
* * actually fix linear interpolation when y0>y1StapleButter2017-07-13
| | | | * change the backfacing attribute bit, so that it doesn't mess with edgemarking
* attempt to fix interpolation when y0>y1StapleButter2017-07-10
|
* 3D:StapleButter2017-07-06
| | | | | * 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
* 3D: Y-sortingStapleButter2017-07-05
|
* 3D: move opaque/translucent sorting to GPU3D.cppStapleButter2017-07-05
|
* 3D: change viewport handling to match hardware. finally fixes #18StapleButter2017-07-04
|
* fix rendering for crapoed 'butterfly' polygonsStapleButter2017-06-28
|
* fix toon highlight mode. GBAtek is wrong.StapleButter2017-06-28
|
* (finally) make the threaded 3D renderer option actually workStapleButter2017-06-04
|
* edge markingStapleButter2017-06-03
|
* clean up some shit. make framebuffer access less weird.StapleButter2017-06-03
|
* * fix range for 'equal' Z-test modeStapleButter2017-06-03
| | | | | * confirm clear Z value for screen outer borders * misc code cleanup
* only do lower-pixel rendering when rendering under an edgeStapleButter2017-06-01
|
* remove more per-pixel checksStapleButter2017-06-01
|
* separate rasterizer inner loop into three loops for leftedge/middle/rightedgeStapleButter2017-06-01
|
* * begin work on antialiasing, but not good yet. also code sucks.StapleButter2017-06-01
| | | | * start making code nicer
* * add 'push old pixel down' behavior for antialiasingStapleButter2017-05-28
| | | | * delay final pass (edge/fog/AA) one scanline, required for edgemarking
* rework slope/edge code. lay groundwork for antialiasing.StapleButter2017-05-28
|
* fogStapleButter2017-05-26
|
* fix crapoed shadowsStapleButter2017-05-26
|
* fix alpha equation when blending is disabledStapleButter2017-05-26
|
* properly reset 3D thread stateStapleButter2017-05-26
|
* first attempt at threading the 3D rendererStapleButter2017-05-23
|
* proper stencil bufferStapleButter2017-05-22
|
* make the renderer truly per-scanlineStapleButter2017-05-22
|
* make the 3D renderer work per-scanlineStapleButter2017-05-21
|
* latch 3D registers upon VBlankStapleButter2017-05-09
| | | | (fixes the last bugs in Gericom's train game)
* fix Z-buffering. not really clean, and not perfectly accurate.StapleButter2017-04-29
|
* misc optimizationsStapleButter2017-04-25
|
* a few attempts at optimizationStapleButter2017-04-23
|
* fix shadow odditiesStapleButter2017-04-22
| | | | not a proper fix, but shadows aren't emulated properly anyway
* attempt at shadows. they're still a bit weird tho.StapleButter2017-04-22
|
* behavior for translucent pixels is preserved even when alphablending is disabledStapleButter2017-04-22
|
* add support for polygon ID and conditional depth update for translucent pixelsStapleButter2017-04-22
|
* optimize the 3D renderer somewhatStapleButter2017-04-21
|