|
group2 0.1.0
CSE 125 Group 2
|
Abstract renderer interface used by the hybrid dispatcher to route calls to either the legacy renderer or a (partially-implemented) new one. More...
#include "Camera.hpp"#include "ModelLoader.hpp"#include "RendererTypes.hpp"#include <SDL3/SDL.h>#include <glm/glm.hpp>#include <string>#include <vector>Go to the source code of this file.
Classes | |
| class | IRenderer |
| Abstract renderer contract. More... | |
Enumerations | |
| enum class | RendererFeature { Init , DrawFrame , Quit , GetDevice , GetShaderFormat , GetCamera , SetParticleSystem , LoadSceneModel , UploadSceneModel , SetVSync , UpdateModelMeshVertices , SetEntityRenderList , SetWeaponViewmodel , SetPointLights , RequestScreenshot , ModelCount } |
| Stable identifiers for each dispatchable renderer method. More... | |
Abstract renderer interface used by the hybrid dispatcher to route calls to either the legacy renderer or a (partially-implemented) new one.
The graphics team is rebuilding the renderer in renderer-new/. As each method is re-implemented there, the corresponding entry is flipped on in NewRenderer::supports(...) and the HybridRenderer starts routing that call to the new implementation instead of the legacy one.
|
strong |
Stable identifiers for each dispatchable renderer method.
When adding a new routable method to IRenderer, add an enum entry here and teach HybridRenderer to check it. The new renderer only needs to report true from supports() for the features it has implemented; the rest fall through to the legacy renderer.