Commit graph

15 commits

Author SHA1 Message Date
Eidolon
bd7646346b Use new containers and json 2025-03-16 18:45:11 -05:00
Eidolon
cb7f437e60 Merge public master 2025-02-13 15:48:11 -06:00
Eidolon
a4d304a1f5 Update copyright years to 2025 2025-02-13 15:32:26 -06:00
Eidolon
bba1d56529 rhi: Remove the old Pass concept
This was already slated to be removed; the old PassManager was a failed
attempt to centralize and pipeline all graphics logic for a frame. Let's
remove it as a step towards simplifying some of this code.
2024-10-30 09:08:04 -05:00
Eidolon
dae2e8ba17 rhi: Remove GraphicsContext
I've come to the conclusion that some aspects of RHI are overengineered
to suit a future where we would theoretically support Vulkan with
minimal implementation effort. In an effort of architectural astronaut
engineering this has had the consequence of making much of the code
interacting with RHI significantly more complex.

The GraphicsContext was originally an opaque object to wrap and
contextualize operations that would eventually be inserted into a Vulkan
CommandBuffer for dispatch. In practice, for the GL backend, this does
nothing but introduce another pointer to pass around across all RHI
code, when it had already been previously accepted that the idea of
recording multiple GraphicsContexts at the same time was infeasible.

Thus, I'm choosing to excise GraphicsContext entirely. This doesn't do
much except remove passing around the context object. This is one of
many changes I would like to make that would simplify RHI-related code
and defer the complexity to the hypothetical future. Vulkan can come at
a later date, and we can solve the problems of Vulkan then. Right now, I
am actually more concerned for supporting a d3d9 renderer to shore up
that Intel 945GM laptop GPU support gap we currently have.
2024-10-30 09:08:04 -05:00
Eidolon
489dba16c3 Temporarily remove uses of RHI renderbuffers
OpenGL does not have renderbuffers until OpenGL 3.0 (contrast to
GLES which has them starting with 2.0). In order to allow people
with older GPUs to play the game for now (until ANGLE+GLES), I am
removing the use of renderbuffers in the game code. They aren't
needed because nothing actually needs a depth or stencil test yet.
Once HWR2 gets rolling, I'll add these back.

Fixes KartKrew/RingRacers#1
2024-04-30 14:56:13 -05:00
Sally Coolatta
c0c2f8a93a SRB2 -> DRRR copyright in hwr2 folder 2024-04-05 10:04:07 -04:00
Eidolon
6f580606cd hwr2: Remove pass infrastructure
It's not worth trying to force the engine to conform to deferred
drawing.
2023-09-01 15:30:04 -05:00
Eidolon
3ec7163a34 rhi: remove TransferContexts 2023-07-09 13:54:07 -05:00
Eidolon
e40b3ac1e3 hwr2: Track colormaps and lighttables tex globally 2023-06-01 05:11:48 -05:00
Eidolon
b8dabe82cf Revert "hwr2: Track colormaps and lighttables tex globally"
This reverts commit aa48237928.
2023-05-23 09:05:23 -05:00
Eidolon
aa48237928 hwr2: Track colormaps and lighttables tex globally
This will allow hardware to reuse the same colormap textures objects as
twodee.
2023-05-19 18:54:19 -05:00
Eidolon
1958394635 hwr2: add g_wipeskiprender 1-frame workaround 2023-02-26 18:47:42 -06:00
Eidolon
31ce947659 hwr2: overhaul wipe rendering 2023-02-26 18:47:42 -06:00
Eidolon
d855d96a10 hwr2: Add hardware 2D rendering 2023-02-26 18:47:42 -06:00