group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
IRenderer Class Referenceabstract

Abstract renderer contract. More...

#include <IRenderer.hpp>

Inheritance diagram for IRenderer:
[legend]

Public Member Functions

virtual ~IRenderer ()=default
 
virtual bool supports (RendererFeature feature) const =0
 Return true iff this renderer implements the given feature.
 
virtual bool init (SDL_Window *window)=0
 
virtual void drawFrame (glm::vec3 eye, float yaw, float pitch, float roll)=0
 
virtual void quit ()=0
 
virtual SDL_GPUDevice * getDevice () const =0
 
virtual SDL_GPUShaderFormat getShaderFormat () const =0
 
virtual const CameragetCamera () const =0
 
virtual void setParticleSystem (ParticleSystem *ps)=0
 
virtual int loadSceneModel (const char *filename, glm::vec3 pos, float scale, bool flipUVs)=0
 
virtual int uploadSceneModel (const LoadedModel &model)=0
 
virtual bool setVSync (bool enabled)=0
 
virtual void updateModelMeshVertices (int modelIndex, int meshIndex, const ModelVertex *vertices, Uint32 vertexCount)=0
 
virtual void setEntityRenderList (std::vector< EntityRenderCmd > cmds)=0
 
virtual void setPointLights (std::vector< PointLight > lights)=0
 
virtual void setModelEmissive (int modelIndex, glm::vec4 emissiveFactor)=0
 
virtual void setWeaponViewmodel (const WeaponViewmodel &vm)=0
 
virtual void requestScreenshot (const std::string &path)=0
 
virtual int modelCount () const =0
 

Detailed Description

Abstract renderer contract.

Both the legacy and the new renderer implement this; HybridRenderer routes per-method based on supports().

Constructor & Destructor Documentation

◆ ~IRenderer()

virtual IRenderer::~IRenderer ( )
virtualdefault

Member Function Documentation

◆ drawFrame()

virtual void IRenderer::drawFrame ( glm::vec3  eye,
float  yaw,
float  pitch,
float  roll 
)
pure virtual

Implemented in NewRenderer, HybridRenderer, and Renderer.

◆ getCamera()

virtual const Camera & IRenderer::getCamera ( ) const
pure virtual

Implemented in NewRenderer, HybridRenderer, and Renderer.

◆ getDevice()

virtual SDL_GPUDevice * IRenderer::getDevice ( ) const
pure virtual

Implemented in NewRenderer, HybridRenderer, and Renderer.

◆ getShaderFormat()

virtual SDL_GPUShaderFormat IRenderer::getShaderFormat ( ) const
pure virtual

Implemented in NewRenderer, HybridRenderer, and Renderer.

◆ init()

virtual bool IRenderer::init ( SDL_Window *  window)
pure virtual

Implemented in NewRenderer, HybridRenderer, and Renderer.

◆ loadSceneModel()

virtual int IRenderer::loadSceneModel ( const char *  filename,
glm::vec3  pos,
float  scale,
bool  flipUVs 
)
pure virtual

Implemented in NewRenderer, HybridRenderer, and Renderer.

◆ modelCount()

virtual int IRenderer::modelCount ( ) const
pure virtual

Implemented in NewRenderer, HybridRenderer, and Renderer.

◆ quit()

virtual void IRenderer::quit ( )
pure virtual

Implemented in NewRenderer, HybridRenderer, and Renderer.

◆ requestScreenshot()

virtual void IRenderer::requestScreenshot ( const std::string &  path)
pure virtual

Implemented in NewRenderer, HybridRenderer, and Renderer.

◆ setEntityRenderList()

virtual void IRenderer::setEntityRenderList ( std::vector< EntityRenderCmd cmds)
pure virtual

Implemented in HybridRenderer, Renderer, and NewRenderer.

◆ setModelEmissive()

virtual void IRenderer::setModelEmissive ( int  modelIndex,
glm::vec4  emissiveFactor 
)
pure virtual

Implemented in HybridRenderer, Renderer, and NewRenderer.

◆ setParticleSystem()

virtual void IRenderer::setParticleSystem ( ParticleSystem ps)
pure virtual

Implemented in NewRenderer, HybridRenderer, and Renderer.

◆ setPointLights()

virtual void IRenderer::setPointLights ( std::vector< PointLight lights)
pure virtual

Implemented in HybridRenderer, Renderer, and NewRenderer.

◆ setVSync()

virtual bool IRenderer::setVSync ( bool  enabled)
pure virtual

Implemented in HybridRenderer, Renderer, and NewRenderer.

◆ setWeaponViewmodel()

virtual void IRenderer::setWeaponViewmodel ( const WeaponViewmodel vm)
pure virtual

Implemented in NewRenderer, HybridRenderer, and Renderer.

◆ supports()

virtual bool IRenderer::supports ( RendererFeature  feature) const
pure virtual

Return true iff this renderer implements the given feature.

Implemented in NewRenderer, HybridRenderer, and Renderer.

◆ updateModelMeshVertices()

virtual void IRenderer::updateModelMeshVertices ( int  modelIndex,
int  meshIndex,
const ModelVertex vertices,
Uint32  vertexCount 
)
pure virtual

Implemented in HybridRenderer, Renderer, and NewRenderer.

◆ uploadSceneModel()

virtual int IRenderer::uploadSceneModel ( const LoadedModel model)
pure virtual

Implemented in NewRenderer, HybridRenderer, and Renderer.


The documentation for this class was generated from the following file: