group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
IRenderer.hpp File Reference

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>
Include dependency graph for IRenderer.hpp:
This graph shows which files directly or indirectly include this file:

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...
 

Detailed Description

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.

Enumeration Type Documentation

◆ RendererFeature

enum class RendererFeature
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.

Enumerator
Init 
DrawFrame 
Quit 
GetDevice 
GetShaderFormat 
GetCamera 
SetParticleSystem 
LoadSceneModel 
UploadSceneModel 
SetVSync 
UpdateModelMeshVertices 
SetEntityRenderList 
SetWeaponViewmodel 
SetPointLights 
RequestScreenshot 
ModelCount