18#ifndef INCLUDED_RENDERER
19#define INCLUDED_RENDERER
42#define g_Renderer CRenderer::GetSingleton()
56 void Reset() { memset(
this, 0,
sizeof(*
this)); }
85 bool Open(
int width,
int height);
88 void Resize(
int width,
int height);
160 void RenderFrame2D(
const bool renderGUI,
const bool renderLogger);
173 std::unique_ptr<Internals>
m;
RenderPath
Definition: RenderingOptions.h:36
Definition: DebugRenderer.h:39
Definition: DecalRData.h:36
Font manager: loads and caches bitmap fonts.
Definition: FontManager.h:31
Render animated models using a ShaderRenderModifier.
Definition: CPUSkinnedModelRenderer.h:32
Definition: PatchRData.h:42
Definition: PostprocManager.h:32
Struct CRendererInternals: Truly hide data that is supposed to be hidden in this structure so it won'...
Definition: Renderer.cpp:243
Higher level interface on top of the whole frame rendering.
Definition: Renderer.h:50
CFontManager & GetFontManager()
Definition: Renderer.cpp:886
bool m_ShouldPreloadResourcesBeforeNextFrame
Definition: Renderer.h:182
Stats m_Stats
Definition: Renderer.h:180
bool Open(int width, int height)
Definition: Renderer.cpp:361
CPostprocManager & GetPostprocManager()
Definition: Renderer.cpp:871
CRenderer(Renderer::Backend::IDevice *device)
Definition: Renderer.cpp:315
Renderer::Backend::IDeviceCommandContext * GetDeviceCommandContext()
Definition: Renderer.cpp:901
std::unique_ptr< Internals > m
Definition: Renderer.h:173
CVertexBufferManager & GetVertexBufferManager()
Definition: Renderer.cpp:856
void RenderFrameImpl(const bool renderGUI, const bool renderLogger)
Definition: Renderer.cpp:471
Stats & GetStats()
Definition: Renderer.h:106
ScreenShotType
Definition: Renderer.h:74
void RenderFrame2D(const bool renderGUI, const bool renderLogger)
Definition: Renderer.cpp:611
void MakeShadersDirty()
Definition: Renderer.cpp:845
void BeginFrame()
Definition: Renderer.cpp:825
void RenderFrame(bool needsPresent)
Definition: Renderer.cpp:432
CShaderManager & GetShaderManager()
Definition: Renderer.cpp:861
void PreloadResourcesBeforeNextFrame()
Performs a complete frame without presenting to force loading all needed resources.
Definition: Renderer.cpp:891
void SetRenderPath(RenderPath rp)
Definition: Renderer.cpp:392
CDebugRenderer & GetDebugRenderer()
Definition: Renderer.cpp:881
CSceneRenderer & GetSceneRenderer()
Definition: Renderer.cpp:876
void EndFrame()
Definition: Renderer.cpp:838
int m_Height
Definition: Renderer.h:177
void RenderScreenShot(const bool needsPresent)
Definition: Renderer.cpp:649
void Resize(int width, int height)
Definition: Renderer.cpp:382
void MakeScreenShotOnNextFrame(ScreenShotType screenShotType)
Makes a screenshot on the next RenderFrame according of the given screenshot type.
Definition: Renderer.cpp:896
ScreenShotType m_ScreenShotType
Definition: Renderer.h:184
bool ShouldRender() const
Definition: Renderer.cpp:427
Renderer::Backend::IVertexInputLayout * GetVertexInputLayout(const PS::span< const Renderer::Backend::SVertexAttributeFormat > attributes)
Returns a cached vertex input layout.
Definition: Renderer.cpp:906
void RenderBigScreenShot(const bool needsPresent)
Definition: Renderer.cpp:697
int m_Width
Definition: Renderer.h:175
void ReloadShaders()
Definition: Renderer.cpp:353
~CRenderer()
Definition: Renderer.cpp:343
int GetWidth() const
Definition: Renderer.h:91
int GetHeight() const
Definition: Renderer.h:93
CTextureManager & GetTextureManager()
Definition: Renderer.cpp:851
CTimeManager & GetTimeManager()
Definition: Renderer.cpp:866
Definition: RenderingOptions.h:69
Definition: SceneRenderer.h:52
Shader manager: loads and caches shader programs.
Definition: ShaderManager.h:39
Texture manager with asynchronous loading and automatic DDS conversion/compression.
Definition: TextureManager.h:73
Definition: TimeManager.h:22
Definition: VertexBufferManager.h:35
Render non-animated (but potentially moving) models using a ShaderRenderModifier.
Definition: InstancingModelRenderer.h:36
Simplifed version of std::span (C++20) as we don't support the original one yet.
Definition: Span.h:37
Definition: IDeviceCommandContext.h:42
Template base class for singletons.
Definition: Singleton.h:34
#define DEFAULT(name)
Definition: mocks_test.cpp:29
Definition: Renderer.h:54
size_t m_OverlayTris
Definition: Renderer.h:66
size_t m_BlendSplats
Definition: Renderer.h:68
size_t m_ModelTris
Definition: Renderer.h:64
size_t m_TerrainTris
Definition: Renderer.h:60
void Reset()
Definition: Renderer.h:56
size_t m_Particles
Definition: Renderer.h:70
size_t m_WaterTris
Definition: Renderer.h:62
size_t m_DrawCalls
Definition: Renderer.h:58