aboutsummaryrefslogtreecommitdiff
path: root/src/GPU3D_Soft.cpp
Commit message (Collapse)AuthorAge
* 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
|
* 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
|