OpenBarnyard
 
Loading...
Searching...
No Matches
ARenderer.h
Go to the documentation of this file.
1#pragma once
2#include "Cameras/ACamera.h"
3
4#ifdef TOSHI_SKU_WINDOWS
6#endif // TOSHI_SKU_WINDOWS
7
8#include <Toshi/TTask.h>
9#include <Render/TViewport.h>
13
14class ARenderer : public Toshi::TTask
15 , public Toshi::TSingleton<ARenderer>
16{
17public:
18 TDECLARE_CLASS( ARenderer, Toshi::TTask );
19
20public:
21 ARenderer();
22
23 virtual TBOOL OnCreate() override;
24 virtual TBOOL OnUpdate( TFLOAT a_fDeltaTime ) override;
25
28
29 void UpdateMainCamera( const Toshi::TMatrix44& a_rTransformMatrix, const ACamera* a_pCamera );
30
31 void ForceUpdate30FPS();
32
33 Toshi::TRenderAdapter::Mode::Device* FindSuitableDevice( Toshi::TRenderInterface::DISPLAYPARAMS& a_rDisplayParams, bool a_bReverseOrder );
34
35 Toshi::TViewport* GetMainViewport() const { return m_pViewport; }
36
37 Toshi::TEmitter<ARenderer, TBOOL*>& GetAnimationUpdateStartEmitter() { return m_AnimationUpdateStartEmitter; }
38 Toshi::TEmitter<ARenderer, TBOOL*>& GetAnimationUpdateEndEmitter() { return m_AnimationUpdateEndEmitter; }
39
40 Toshi::TEmitter<ARenderer, TINT>& GetRenderGUIEmitter() { return m_RenderGUIEmitter; }
41 const Toshi::TEmitter<ARenderer, TINT>& GetRenderGUIEmitter() const { return m_RenderGUIEmitter; }
42
43private:
44 void CreateMainViewport();
45 void RenderGUI();
46 void RenderMainScene( TFLOAT a_fDeltaTime );
47
48private:
49 Toshi::TViewport* m_pViewport;
50 Toshi::TCameraObject* m_pCameraObject;
51 Toshi::TViewport* m_pHALViewport1;
52 Toshi::TViewport* m_pHALViewport2;
53 TFLOAT m_fFar;
54 TFLOAT m_fNear;
55 TUINT32 m_eScreenCaptureStatus;
56 Toshi::TEmitter<ARenderer, TBOOL*> m_AnimationUpdateStartEmitter;
57 Toshi::TEmitter<ARenderer, TBOOL*> m_AnimationUpdateEndEmitter;
58 Toshi::TEmitter<ARenderer, TINT> m_RenderGUIEmitter;
59 TBOOL m_bRenderGUI;
60 ADisplayModes_Win m_DisplayModes;
61};
Rendering system interface for the Toshi engine.
#define TDECLARE_CLASS(THIS_CLASS, PARENT_CLASS)
Definition TObject.h:38
float TFLOAT
Definition Typedefs.h:4
uint32_t TUINT32
Definition Typedefs.h:13
bool TBOOL
Definition Typedefs.h:6
Toshi::TViewport * GetMainViewport() const
Definition ARenderer.h:35
virtual TBOOL OnCreate() override
const Toshi::TEmitter< ARenderer, TINT > & GetRenderGUIEmitter() const
Definition ARenderer.h:41
void UpdateMainCamera(const Toshi::TMatrix44 &a_rTransformMatrix, const ACamera *a_pCamera)
TBOOL CreateTRender()
Toshi::TEmitter< ARenderer, TBOOL * > & GetAnimationUpdateEndEmitter()
Definition ARenderer.h:38
virtual TBOOL OnUpdate(TFLOAT a_fDeltaTime) override
void ForceUpdate30FPS()
Toshi::TRenderAdapter::Mode::Device * FindSuitableDevice(Toshi::TRenderInterface::DISPLAYPARAMS &a_rDisplayParams, bool a_bReverseOrder)
Toshi::TEmitter< ARenderer, TINT > & GetRenderGUIEmitter()
Definition ARenderer.h:40
Toshi::TEmitter< ARenderer, TBOOL * > & GetAnimationUpdateStartEmitter()
Definition ARenderer.h:37
TBOOL CreateTRenderResources()