24 bool init(SDL_Window* window)
override;
25 void drawFrame(glm::vec3 eye,
float yaw,
float pitch,
float roll)
override;
28 [[nodiscard]] SDL_GPUDevice*
getDevice()
const override;
33 int loadSceneModel(
const char* filename, glm::vec3 pos,
float scale,
bool flipUVs =
false)
override;
35 bool setVSync(
bool enabled)
override;
72 bool legacyInitialised_ =
false;
73 bool nextInitialised_ =
false;
74 bool drawFrameLogged_ =
false;
Abstract renderer interface used by the hybrid dispatcher to route calls to either the legacy rendere...
RendererFeature
Stable identifiers for each dispatchable renderer method.
Definition IRenderer.hpp:31
Definition HybridRenderer.hpp:18
int modelCount() const override
Definition HybridRenderer.cpp:263
NewRenderer & next()
Direct access to the new renderer instance (not normally needed).
Definition HybridRenderer.hpp:56
void updateModelMeshVertices(int modelIndex, int meshIndex, const ModelVertex *vertices, Uint32 vertexCount) override
Definition HybridRenderer.cpp:214
RenderToggles & toggles
Alias of legacy_.toggles.
Definition HybridRenderer.hpp:64
void requestScreenshot(const std::string &path) override
Definition HybridRenderer.cpp:255
void drawFrame(glm::vec3 eye, float yaw, float pitch, float roll) override
Definition HybridRenderer.cpp:132
bool setVSync(bool enabled) override
Definition HybridRenderer.cpp:207
const NewRenderer & next() const
Definition HybridRenderer.hpp:57
SDL_GPUDevice * getDevice() const override
Definition HybridRenderer.cpp:164
void setWeaponViewmodel(const WeaponViewmodel &vm) override
Definition HybridRenderer.cpp:247
static constexpr SDL_GPUTextureFormat getHdrFormat()
HDR render target format (RGBA16F).
Definition HybridRenderer.hpp:47
Renderer & legacy()
Direct access to the legacy renderer instance, needed by DebugUI::buildLightingUI / buildSkyboxUI whi...
Definition HybridRenderer.hpp:52
void setModelEmissive(int modelIndex, glm::vec4 emissiveFactor) override
Definition HybridRenderer.cpp:241
int & ssrMode
Convenience aliases for fields Game reaches into directly.
Definition HybridRenderer.hpp:63
void quit() override
Definition HybridRenderer.cpp:149
const Camera & getCamera() const override
Definition HybridRenderer.cpp:178
int uploadSceneModel(const LoadedModel &model) override
Definition HybridRenderer.cpp:200
void setPointLights(std::vector< PointLight > lights) override
Definition HybridRenderer.cpp:233
int loadSceneModel(const char *filename, glm::vec3 pos, float scale, bool flipUVs=false) override
Definition HybridRenderer.cpp:193
bool supports(RendererFeature feature) const override
Return true iff this renderer implements the given feature.
Definition HybridRenderer.cpp:77
const Renderer & legacy() const
Definition HybridRenderer.hpp:53
bool init(SDL_Window *window) override
Definition HybridRenderer.cpp:83
SDL_GPUShaderFormat getShaderFormat() const override
Definition HybridRenderer.cpp:171
void setParticleSystem(ParticleSystem *ps) override
Definition HybridRenderer.cpp:185
HybridRenderer()
Definition HybridRenderer.cpp:75
void setEntityRenderList(std::vector< EntityRenderCmd > cmds) override
Definition HybridRenderer.cpp:225
Abstract renderer contract.
Definition IRenderer.hpp:53
Graphics-team's work-in-progress SDL3 GPU renderer.
Definition Renderer.hpp:35
Top-level particle system orchestrator.
Definition ParticleSystem.hpp:35
Forward-declared to avoid circular includes.
Definition Renderer.hpp:35
static constexpr SDL_GPUTextureFormat getHdrFormat()
HDR render target format (RGBA16F). Particle pipelines must match this.
Definition Renderer.hpp:79
SDL3 GPU forward PBR renderer with HDR pipeline and post-processing.
Everything returned by loadModel().
Definition ModelLoader.hpp:76
One vertex in a loaded 3-D model (PBR-ready).
Definition ModelLoader.hpp:19
Live toggles for every render system – exposed to ImGui.
Definition RendererTypes.hpp:24
First-person weapon viewmodel descriptor sent per frame.
Definition RendererTypes.hpp:65