3#include <Foundation/Math/Color.h>
4#include <Foundation/Math/Transform.h>
5#include <RendererCore/Debug/DebugRendererContext.h>
6#include <RendererCore/Declarations.h>
7#include <RendererCore/RendererCoreDLL.h>
8#include <RendererFoundation/Descriptors/Descriptors.h>
10template <
typename Type>
21 using StorageType = plUInt8;
38 using StorageType = plUInt8;
55 using StorageType = plUInt8;
85 PL_DECLARE_POD_TYPE();
100 PL_DECLARE_POD_TYPE();
111 PL_DECLARE_POD_TYPE();
173 static plUInt32 Draw2DText(
const plDebugRendererContext& context,
const plFormatString& text,
const plVec2I32& vPositionInPixel,
const plColor& color, plUInt32 uiSizeInPixel = 16, plDebugTextHAlign::Enum horizontalAlignment = plDebugTextHAlign::Left, plDebugTextVAlign::Enum verticalAlignment = plDebugTextVAlign::Top);
189 static plUInt32 Draw3DText(
const plDebugRendererContext& context,
const plFormatString& text,
const plVec3& vGlobalPosition,
const plColor& color, plUInt32 uiSizeInPixel = 16, plDebugTextHAlign::Enum horizontalAlignment = plDebugTextHAlign::Center, plDebugTextVAlign::Enum verticalAlignment = plDebugTextVAlign::Bottom);
220 static void DrawCylinder(
const plDebugRendererContext& context,
float fRadiusStart,
float fRadiusEnd,
float fLength,
const plColor& solidColor,
const plColor& lineColor,
const plTransform& transform,
bool bCapStart =
false,
bool bCapEnd =
false);
226 static float GetTextGlyphWidth(plUInt32 uiSizeInPixel = 16);
229 static float GetTextLineHeight(plUInt32 uiSizeInPixel = 16);
232 static float GetTextScale();
235 static void SetTextScale(
float fScale);
246 static void OnEngineStartup();
247 static void OnEngineShutdown();
249 PL_MAKE_SUBSYSTEM_STARTUP_FRIEND(RendererCore, DebugRenderer);
273#include <RendererCore/Debug/Implementation/DebugRenderer_inl.h>
Float wrapper struct for a safe usage and conversions of angles.
Definition Angle.h:10
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition ArrayPtr.h:37
plColor represents an RGBA color in linear color space. Values are stored as float,...
Definition Color.h:44
static const plColor White
#FFFFFF
Definition Color.h:194
Used in plDebugRenderer to determine where debug geometry should be rendered.
Definition DebugRendererContext.h:11
Draws simple shapes into the scene or view.
Definition DebugRenderer.h:81
Represents the frustum of some camera and can be used for culling objects.
Definition Frustum.h:32
Definition RendererFoundationDLL.h:425
A simple rectangle class templated on the type for x, y and width, height.
Definition Rect.h:10
Helper class to expose debug rendering to scripting.
Definition DebugRenderer.h:254
A very basic render pass that renders into the color target.
Definition SimpleRenderPass.h:11
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
static plVec3Template< float > MakeAxisX()
Definition Vec3.h:41
static plVec3Template< float > MakeAxisZ()
Definition Vec3.h:47
A world encapsulates a scene graph of game objects and various component managers and their component...
Definition World.h:22
Definition DebugRenderer.h:84
Definition DebugRenderer.h:110
Definition DebugRenderer.h:99
Horizontal alignment of debug text.
Definition DebugRenderer.h:20
Screen placement of debug text.
Definition DebugRenderer.h:54
Vertical alignment of debug text.
Definition DebugRenderer.h:37
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37
Definition Declarations.h:51
The time class encapsulates a double value storing the time in seconds.
Definition Time.h:12