3#include <Core/ResourceManager/ResourceHandle.h>
4#include <RendererCore/Pipeline/Declarations.h>
20 plUInt64 m_uiFrameCounter = 0;
28 BeforePipelineExecution,
29 AfterPipelineExecution,
36 plUInt64 m_uiFrameCounter = 0;
52 static void ClearMainViews();
57 static void DeleteAllCachedRenderData();
59 static void DeleteCachedRenderDataForObject(
const plGameObject* pOwnerObject);
60 static void DeleteCachedRenderDataForObjectRecursive(
const plGameObject* pOwnerObject);
61 static void ResetRenderDataCache(
plView& ref_view);
66 static void ExtractMainViews();
70 static void BeginFrame();
71 static void EndFrame();
79 static bool GetUseMultithreadedRendering();
84 PL_ALWAYS_INLINE
static plUInt64 GetFrameCounter() {
return s_uiFrameCounter; }
86 PL_FORCE_INLINE
static plUInt32 GetDataIndexForExtraction() {
return GetUseMultithreadedRendering() ? (s_uiFrameCounter & 1) : 0; }
88 PL_FORCE_INLINE
static plUInt32 GetDataIndexForRendering() {
return GetUseMultithreadedRendering() ? ((s_uiFrameCounter + 1) & 1) : 0; }
90 static bool IsRenderingThread();
100 static void BeginModifyCameraConfigs();
101 static void EndModifyCameraConfigs();
102 static void ClearCameraConfigs();
103 static void SetCameraConfig(
const char* szName,
const CameraConfig& config);
104 static const CameraConfig* FindCameraConfig(
const char* szName);
109 static bool s_bModifyingCameraConfigs;
115 PL_MAKE_SUBSYSTEM_STARTUP_FRIEND(RendererCore, RenderWorld);
120 static void ClearRenderDataCache();
121 static void UpdateRenderDataCache();
124 static void RebuildPipelines();
126 static void OnEngineStartup();
127 static void OnEngineShutdown();
131 static plUInt64 s_uiFrameCounter;
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition ArrayPtr.h:37
This class represents an object inside the world.
Definition GameObject.h:32
Definition RenderContext.h:30
Definition RenderPipeline.h:20
Definition RenderWorld.h:40
static PL_ALWAYS_INLINE void ResetFrameCounter()
Resets the frame counter to zero. Only for test purposes !
Definition RenderWorld.h:82
Definition Declarations.h:64
Encapsulates a view on the given world through the given camera and rendered with the specified Rende...
Definition View.h:21
A world encapsulates a scene graph of game objects and various component managers and their component...
Definition World.h:22
Enum
Definition Declarations.h:85
@ None
No hint, camera may not be used, at all.
Definition Declarations.h:86
A handle to a component.
Definition Declarations.h:138
A handle to a game object.
Definition Declarations.h:76
Definition Declarations.h:51
Definition RenderWorld.h:96
Definition RenderWorld.h:24