Supermodel/Src/Graphics/New3D
gm-matthew 9f66fcaac7 Floating point reversed z-buffer and new clipping code
Also always draw nodes with culling disabled even if they test as being outside the visible frustum
2023-12-22 02:00:47 +00: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 Floating point reversed z-buffer and new clipping code 2023-12-22 02:00:47 +00:00
Mat4.h Floating point reversed z-buffer and new clipping code 2023-12-22 02:00:47 +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 Floating point reversed z-buffer and new clipping code 2023-12-22 02:00:47 +00:00
New3D.h Floating point reversed z-buffer and new clipping code 2023-12-22 02:00:47 +00: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 Floating point reversed z-buffer and new clipping code 2023-12-22 02:00:47 +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 Floating point reversed z-buffer and new clipping code 2023-12-22 02:00:47 +00:00
R3DShaderTriangles.h Floating point reversed z-buffer and new clipping code 2023-12-22 02:00:47 +00: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