Supermodel/Src/Graphics/New3D
2023-12-02 14:27:32 -08:00
..
GLSLShader.cpp Upgrade the glsl shader class a bit. Add a const char* comparitor so we can use a map with a simple "string" key. Fine to use when performance is not critical. 2022-10-16 21:03:41 +01:00
GLSLShader.h Fix build for linux (just missing header) 2022-10-17 09:34:11 +01:00
Mat4.cpp Harmless math warning fixes. map->unordered_map in CNew3D::CacheModel. Avoid general aliasing problems (using bit_cast or the recommended/optimized-away memcpy). 2022-10-03 17:59:59 -07:00
Mat4.h remove unnecessary copies 2018-04-24 13:51:53 +00:00
Model.cpp Add LOD switching and blending out culling nodes 2023-11-02 14:16:07 +00:00
Model.h Merge pull request #101 from gm-matthew/lod-and-blending 2023-11-03 19:56:17 +00:00
New3D.cpp fix compilation on linux 2023-11-17 18:03:40 +00:00
New3D.h Prior scroll fog logic was nearly correct. For scroll fogging to draw it needs either a start value or a fog density value, but these can come from a different viewport if they have the same colour fog set. This fixes the credits in vf3 which sets scroll fog, but it never draws on the original hardware. 2023-10-22 21:07:35 +01:00
Plane.h Harmless math warning fixes. map->unordered_map in CNew3D::CacheModel. Avoid general aliasing problems (using bit_cast or the recommended/optimized-away memcpy). 2022-10-03 17:59:59 -07:00
PolyHeader.cpp Add missing edge on transluency function 2023-11-17 15:50:04 +00:00
PolyHeader.h Add missing edge on transluency function 2023-11-17 15:50:04 +00:00
R3DData.h Add LOD switching and blending out culling nodes 2023-11-02 14:16:07 +00:00
R3DFloat.cpp address review 2022-10-03 17:59:59 -07:00
R3DFloat.h Harmless math warning fixes. map->unordered_map in CNew3D::CacheModel. Avoid general aliasing problems (using bit_cast or the recommended/optimized-away memcpy). 2022-10-03 17:59:59 -07:00
R3DFrameBuffers.cpp fix minor error 2023-11-18 22:56:15 +00:00
R3DFrameBuffers.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
R3DScrollFog.cpp fixed some -Wunused-* compiler warnings 2023-12-02 14:27:32 -08:00
R3DScrollFog.h Correct scroll fog attenuation logic (gm_matthew) 2023-11-05 23:44:27 +00:00
R3DShader.cpp Rewrite the stencil buffer usage slightly, so both the LOS and layered polys work. LOS uses the top bit of the stencil buffer. Fixes some minor issues with draw order in sega rally. 2023-11-10 19:13:37 +00:00
R3DShader.h Fix the line of sight function. 2023-11-03 13:24:59 +00:00
R3DShaderCommon.h Fix white gfx on linux / intel gpus. These optimisations originally came from toxieainc 2023-10-27 10:45:16 +01:00
R3DShaderQuads.h Fix white gfx on linux / intel gpus. These optimisations originally came from toxieainc 2023-10-27 10:45:16 +01:00
R3DShaderTriangles.h Fix white gfx on linux / intel gpus. These optimisations originally came from toxieainc 2023-10-27 10:45:16 +01:00
VBO.cpp Rewrite the whole project for GL4+. I figured if we removed the limitation of a legacy rendering API we could improve things a bit. With GL4+ we can do unsigned integer math in the shaders. This allows us to upload a direct copy of the real3d texture sheet, and texture directly from this memory given the x/y pos and type. This massively simplifies the binding and invalidation code. Also the crazy corner cases will work because it essentially works the same way as the original hardware. 2022-11-07 21:33:01 +00:00
VBO.h Rewrite the whole project for GL4+. I figured if we removed the limitation of a legacy rendering API we could improve things a bit. With GL4+ we can do unsigned integer math in the shaders. This allows us to upload a direct copy of the real3d texture sheet, and texture directly from this memory given the x/y pos and type. This massively simplifies the binding and invalidation code. Also the crazy corner cases will work because it essentially works the same way as the original hardware. 2022-11-07 21:33:01 +00:00
Vec.cpp fix a real error (m68kdasm) and some harmless performance warnings and use modern headers 2022-07-11 18:10:41 +02:00
Vec.h Cull geometry based on the culling distances in the nodes. Should give some sort of speedup on lower end pcs where the CPU is predominantly the bottle neck. 2016-06-16 20:05:29 +00:00