Lugdunum  0.1.0
Classes | Public Types | Public Member Functions | Protected Attributes | List of all members
lug::Graphics::Renderer Class Referenceabstract

#include <Renderer.hpp>

Inheritance diagram for lug::Graphics::Renderer:
[legend]
Collaboration diagram for lug::Graphics::Renderer:
[legend]

Classes

struct  InitInfo
 

Public Types

enum  Type : uint8_t { Type::Vulkan }
 
enum  DisplayMode : uint8_t {
  DisplayMode::Full, DisplayMode::Albedo, DisplayMode::Normal, DisplayMode::Metallic,
  DisplayMode::Roughness, DisplayMode::AmbientOcclusion, DisplayMode::AmbientOcclusionRoughnessMetallic, DisplayMode::Emissive
}
 

Public Member Functions

 Renderer (Graphics &graphics, Type type)
 
 Renderer (const Renderer &)=delete
 
 Renderer (Renderer &&)=delete
 
Rendereroperator= (const Renderer &)=delete
 
Rendereroperator= (Renderer &&)=delete
 
virtual ~Renderer ()=default
 
virtual bool beginInit (const std::string &appName, const Core::Version &appVersion, const InitInfo &initInfo)=0
 
virtual bool finishInit ()=0
 
virtual bool beginFrame (const lug::System::Time &elapsedTime)=0
 
virtual bool endFrame ()=0
 
virtual Render::WindowcreateWindow (Render::Window::InitInfo &initInfo)=0
 
virtual Render::WindowgetWindow ()=0
 
const InitInfogetInfo () const
 
Type getType () const
 
const DisplayModegetDisplayMode () const
 
void setDisplayMode (DisplayMode displayMode)
 
ResourceManagergetResourceManager () const
 

Protected Attributes

Graphics_graphics
 
Type _type
 
DisplayMode _displayMode
 
InitInfo _initInfo
 
std::unique_ptr< ResourceManager_resourceManager {nullptr}
 

Detailed Description

Definition at line 18 of file Renderer.hpp.

Member Enumeration Documentation

◆ Type

enum lug::Graphics::Renderer::Type : uint8_t
strong
Enumerator
Vulkan 

Definition at line 20 of file Renderer.hpp.

◆ DisplayMode

enum lug::Graphics::Renderer::DisplayMode : uint8_t
strong
Enumerator
Full 
Albedo 
Normal 
Metallic 
Roughness 
AmbientOcclusion 
AmbientOcclusionRoughnessMetallic 
Emissive 

Definition at line 24 of file Renderer.hpp.

Constructor & Destructor Documentation

◆ Renderer() [1/3]

lug::Graphics::Renderer::Renderer ( Graphics graphics,
Renderer::Type  type 
)

Definition at line 6 of file Renderer.cpp.

◆ Renderer() [2/3]

lug::Graphics::Renderer::Renderer ( const Renderer )
delete

◆ Renderer() [3/3]

lug::Graphics::Renderer::Renderer ( Renderer &&  )
delete

◆ ~Renderer()

virtual lug::Graphics::Renderer::~Renderer ( )
virtualdefault

Member Function Documentation

◆ operator=() [1/2]

Renderer& lug::Graphics::Renderer::operator= ( const Renderer )
delete

◆ operator=() [2/2]

Renderer& lug::Graphics::Renderer::operator= ( Renderer &&  )
delete

◆ beginInit()

virtual bool lug::Graphics::Renderer::beginInit ( const std::string &  appName,
const Core::Version appVersion,
const InitInfo initInfo 
)
pure virtual

◆ finishInit()

virtual bool lug::Graphics::Renderer::finishInit ( )
pure virtual

◆ beginFrame()

virtual bool lug::Graphics::Renderer::beginFrame ( const lug::System::Time elapsedTime)
pure virtual

◆ endFrame()

virtual bool lug::Graphics::Renderer::endFrame ( )
pure virtual

◆ createWindow()

virtual Render::Window* lug::Graphics::Renderer::createWindow ( Render::Window::InitInfo initInfo)
pure virtual

◆ getWindow()

virtual Render::Window* lug::Graphics::Renderer::getWindow ( )
pure virtual

◆ getInfo()

const Renderer::InitInfo & Renderer::getInfo ( ) const
inline

Definition at line 1 of file Renderer.inl.

◆ getType()

Renderer::Type Renderer::getType ( ) const
inline

Definition at line 5 of file Renderer.inl.

◆ getDisplayMode()

const Renderer::DisplayMode & Renderer::getDisplayMode ( ) const
inline

Definition at line 13 of file Renderer.inl.

◆ setDisplayMode()

void Renderer::setDisplayMode ( Renderer::DisplayMode  displayMode)
inline

Definition at line 17 of file Renderer.inl.

◆ getResourceManager()

ResourceManager * Renderer::getResourceManager ( ) const
inline

Definition at line 9 of file Renderer.inl.

Member Data Documentation

◆ _graphics

Graphics& lug::Graphics::Renderer::_graphics
protected

Definition at line 70 of file Renderer.hpp.

◆ _type

Type lug::Graphics::Renderer::_type
protected

Definition at line 71 of file Renderer.hpp.

◆ _displayMode

DisplayMode lug::Graphics::Renderer::_displayMode
protected

Definition at line 72 of file Renderer.hpp.

◆ _initInfo

InitInfo lug::Graphics::Renderer::_initInfo
protected

Definition at line 73 of file Renderer.hpp.

◆ _resourceManager

std::unique_ptr<ResourceManager> lug::Graphics::Renderer::_resourceManager {nullptr}
protected

Definition at line 74 of file Renderer.hpp.


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