aboutsummaryrefslogtreecommitdiff
path: root/src/GPU3D_Soft.cpp
Commit message (Collapse)AuthorAge
* use C++ style structs everywhereRSDuck2021-01-02
|
* Merge vram dirty trackingRSDuck2020-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Squashed commit of the following: commit b463a05d4b909372f0cd1ad91caa0c77a25e5901 Author: RSDuck <rsduck@users.noreply.github.com> Date: Mon Nov 30 01:55:35 2020 +0100 minor fix commit ce73cebbdf5da243d7ebade82d8799ded9cd6b28 Author: RSDuck <rsduck@users.noreply.github.com> Date: Mon Nov 30 00:43:08 2020 +0100 fix dirty flags of BG/OBJ mappings not being reset commit fc5d73a6178e3adc444398bdd23de8314b5ca8f8 Author: RSDuck <rsduck@users.noreply.github.com> Date: Mon Nov 30 00:11:13 2020 +0100 use flat vram for gpu2d everywhere commit 34ee9fe2bf04fcfa2a5a1c8d78d70007e606f1a2 Author: RSDuck <rsduck@users.noreply.github.com> Date: Sat Nov 28 19:10:34 2020 +0100 mark VRAM dirty for display capture commit e8778fa2f429c6df0eece19d6a5ee83ae23a0cf4 Author: RSDuck <rsduck@users.noreply.github.com> Date: Sat Nov 28 18:59:31 2020 +0100 use flat VRAM for textures and texpals also skip rendering if nothing changed and a bunch of fixes commit 53f2041e2e1a28b35702a2ed51de885c36689f71 Author: RSDuck <rsduck@users.noreply.github.com> Date: Fri Nov 27 18:29:56 2020 +0100 use vram dirty tracking for extpals also preparations to take this further commit 4cdfa329e95aed26d3b21319c8fd86a04abf20f7 Author: RSDuck <rsduck@users.noreply.github.com> Date: Mon Nov 16 23:32:22 2020 +0100 VRAM dirty tracking
* make platform objects typesafer and add mutexRSDuck2020-11-09
|
* * rework GPU's settings interface, make it config-agnosticArisotura2020-05-28
| | | | | * make video settings dialog functional, sorta * fix dialogs that were resizable
* update copyright yearsArisotura2020-02-14
|
* software renderer: fix rendering of line polygons. fixes #350Arisotura2019-06-11
|
* welp.Arisotura2019-05-21
| | | | progress
* BAHAHAHHHHArisotura2019-05-16
| | | | HARK HARK HARK
* BAHAHAHAHAHAHAHAAArisotura2019-05-16
|
* de-hardcode the GL renderer.Arisotura2019-05-12
| | | | | init framebuffer to black. fix bugs.
* hires hax. somewhat functionalArisotura2019-05-08
|
* first attempt at thingsArisotura2019-04-01
| | | | (also fix softrenderer reset)
* also, update copyright nameArisotura2019-01-22
|
* some work on extreme/degenerate shit in GPUStapleButter2018-12-20
| | | | | | * clip against Z then Y then X. apparently, fixes #310. I had also observed hints that the hardware does it this way. * truncate W to 24 bits before viewport transform. * mark any polygons that have a W=0 at that point as degenerate. do not render.
* implement proper support for POWCNT1.StapleButter2018-12-18
| | | | fixes #260
* 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
|