Supermodel/Src/Model3
Ian Curtis c039d08c03 Add supersampling anti-aliasing
Late christmas present. Due to the way alpha works on the model3 adding regular anti-aliasing doesn't really work. Supersampling is very much a brute force solution, render the scene at a higher resolution and mipmap it.

It's enabled via command line with the -ss option, for example -ss=4 for 4x supersampling or by adding Supersampling = 4 in the config file.

Note non power of two values work as well, so 3 gives a very good balance between speed and quality. 8 will make your GPU bleed, since it is essentially rendering 64 pixels for every visible pixel on the screen.
2023-12-26 18:25:03 +00:00
..
DriveBoard Drive board uses the value 0xFF (not 0x00) on ports 42 and 45 to stop all effects when port 46 is set to 0xFF; fixes FFB effects continuing after game ends 2023-07-01 23:21:51 -07:00
53C810.cpp PowerPC IRQ line deassertion; DMA only fires interrupts when required 2021-11-28 01:11:11 +00:00
53C810.h PowerPC IRQ line deassertion; DMA only fires interrupts when required 2021-11-28 01:11:11 +00:00
53C810Disasm.cpp fix a real error (m68kdasm) and some harmless performance warnings and use modern headers 2022-07-11 18:10:41 +02:00
93C46.cpp fix a real error (m68kdasm) and some harmless performance warnings and use modern headers 2022-07-11 18:10:41 +02:00
93C46.h Getting rid of most of the includes from Supermodel.h; each file now explicitly includes the header files it needs. 2021-11-22 17:15:06 +00:00
Crypto.cpp fix a few compile warnings 2018-01-25 21:07:22 +00:00
Crypto.h Encryption device emulation (thanks to MAME), fixed warnings in Model3.cpp, added a string formatter helper, and updated Win32 GCC Makefile. 2016-04-02 21:50:40 +00:00
DSB.cpp change all INT16 mixing/intermediate clamping to floats 2022-11-06 13:00:13 -08:00
DSB.h DSB.h: when generating a debug build in gcc w/ -g, k_framePeriod was causing a linker error. Not sure why k_timerPeriod wasn't but made them both constexpr. 2023-11-11 13:46:05 -08:00
IEmulator.h Add supersampling anti-aliasing 2023-12-26 18:25:03 +00:00
IRQ.cpp PowerPC IRQ line deassertion; DMA only fires interrupts when required 2021-11-28 01:11:11 +00:00
IRQ.h Getting rid of most of the includes from Supermodel.h; each file now explicitly includes the header files it needs. 2021-11-22 17:15:06 +00:00
JTAG.cpp Getting rid of most of the includes from Supermodel.h; each file now explicitly includes the header files it needs. 2021-11-22 17:15:06 +00:00
JTAG.h Getting rid of most of the includes from Supermodel.h; each file now explicitly includes the header files it needs. 2021-11-22 17:15:06 +00:00
Model3.cpp Add supersampling anti-aliasing 2023-12-26 18:25:03 +00:00
Model3.h Add supersampling anti-aliasing 2023-12-26 18:25:03 +00:00
Model3GraphicsState.h Fixed graphics analysis -gfx-state option 2023-11-11 13:55:02 -08:00
MPC10x.cpp Getting rid of most of the includes from Supermodel.h; each file now explicitly includes the header files it needs. 2021-11-22 17:15:06 +00:00
MPC10x.h Getting rid of most of the includes from Supermodel.h; each file now explicitly includes the header files it needs. 2021-11-22 17:15:06 +00:00
PCI.cpp Getting rid of most of the includes from Supermodel.h; each file now explicitly includes the header files it needs. 2021-11-22 17:15:06 +00:00
PCI.h Getting rid of most of the includes from Supermodel.h; each file now explicitly includes the header files it needs. 2021-11-22 17:15:06 +00:00
Real3D.cpp Fix the line of sight function. 2023-11-03 13:24:59 +00:00
Real3D.h DMA device register always returns Step 1.x PCI ID 2023-08-20 17:43:40 -07:00
RTC72421.cpp optimize ReadRegister, as localtime (at least on MSVC/Windows) is significantly showing up in profiling 2022-07-11 18:47:13 +02:00
RTC72421.h Getting rid of most of the includes from Supermodel.h; each file now explicitly includes the header files it needs. 2021-11-22 17:15:06 +00:00
SoundBoard.cpp fixed some -Wunused-* compiler warnings 2023-12-02 14:27:32 -08:00
SoundBoard.h change all INT16 mixing/intermediate clamping to floats 2022-11-06 13:00:13 -08:00
TileGen.cpp Rewrite the renderer a bit to spit out the finished graphics from the 3d chip on separate buffers. One buffer is for opaque pixels, and 2 more for translucent pixels. Before the frame was composited on the back buffer, which meant the tilegen had to have been drawn first. This way the images are now totally independant of the tilegen chip so can be drawn as soon as the register write 0xC is written to the tilegen. 2023-10-14 20:05:00 +01:00
TileGen.h Rewrite the renderer a bit to spit out the finished graphics from the 3d chip on separate buffers. One buffer is for opaque pixels, and 2 more for translucent pixels. Before the frame was composited on the back buffer, which meant the tilegen had to have been drawn first. This way the images are now totally independant of the tilegen chip so can be drawn as soon as the register write 0xC is written to the tilegen. 2023-10-14 20:05:00 +01:00