Open 3D Engine AzFramework API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AzFramework::DebugDisplayRequests Class Reference

DebugDisplayRequests provides a debug draw api to be used by components and viewport features. More...

#include <EntityDebugDisplayBus.h>

Inherits AZ::EBusTraits.

Inherited by UnitTest::NullDebugDisplayRequests, and UnitTest::TestDebugDisplayRequests.

Public Types

using BusIdType = AZ::s32
 

Public Member Functions

virtual void SetColor (const AZ::Color &color)
 
virtual void SetAlpha (float a)
 
virtual void DrawQuad (const AZ::Vector3 &p1, const AZ::Vector3 &p2, const AZ::Vector3 &p3, const AZ::Vector3 &p4)
 
virtual void DrawQuad (float width, float height, bool drawShaded=true)
 
virtual void DrawWireQuad (const AZ::Vector3 &p1, const AZ::Vector3 &p2, const AZ::Vector3 &p3, const AZ::Vector3 &p4)
 
virtual void DrawWireQuad (float width, float height)
 
virtual void DrawQuadGradient (const AZ::Vector3 &p1, const AZ::Vector3 &p2, const AZ::Vector3 &p3, const AZ::Vector3 &p4, const AZ::Vector4 &firstColor, const AZ::Vector4 &secondColor)
 
virtual void DrawQuad2dGradient (const AZ::Vector2 &p1, const AZ::Vector2 &p2, const AZ::Vector2 &p3, const AZ::Vector2 &p4, float z, const AZ::Color &firstColor, const AZ::Color &secondColor)
 
virtual void DrawTri (const AZ::Vector3 &p1, const AZ::Vector3 &p2, const AZ::Vector3 &p3)
 
virtual void DrawTriangles (const AZStd::vector< AZ::Vector3 > &vertices, const AZ::Color &color)
 
virtual void DrawTrianglesIndexed (const AZStd::vector< AZ::Vector3 > &vertices, const AZStd::vector< AZ::u32 > &indices, const AZ::Color &color)
 
virtual void DrawWireBox (const AZ::Vector3 &min, const AZ::Vector3 &max)
 
virtual void DrawSolidBox (const AZ::Vector3 &min, const AZ::Vector3 &max)
 
virtual void DrawWireOBB (const AZ::Vector3 &center, const AZ::Vector3 &axisX, const AZ::Vector3 &axisY, const AZ::Vector3 &axisZ, const AZ::Vector3 &halfExtents)
 
virtual void DrawSolidOBB (const AZ::Vector3 &center, const AZ::Vector3 &axisX, const AZ::Vector3 &axisY, const AZ::Vector3 &axisZ, const AZ::Vector3 &halfExtents)
 
virtual void DrawPoint (const AZ::Vector3 &p, int nSize=1)
 
virtual void DrawLine (const AZ::Vector3 &p1, const AZ::Vector3 &p2)
 
virtual void DrawLine (const AZ::Vector3 &p1, const AZ::Vector3 &p2, const AZ::Vector4 &col1, const AZ::Vector4 &col2)
 
virtual void DrawLines (const AZStd::vector< AZ::Vector3 > &lines, const AZ::Color &color)
 
virtual void DrawPolyLine (const AZ::Vector3 *pnts, int numPoints, bool cycled=true)
 
virtual void DrawPolyLine (AZStd::span< const AZ::Vector3 > points, bool cycled=true)
 
virtual void DrawWireQuad2d (const AZ::Vector2 &p1, const AZ::Vector2 &p2, float z)
 
virtual void DrawLine2d (const AZ::Vector2 &p1, const AZ::Vector2 &p2, float z)
 
virtual void DrawLine2dGradient (const AZ::Vector2 &p1, const AZ::Vector2 &p2, float z, const AZ::Vector4 &firstColor, const AZ::Vector4 &secondColor)
 
virtual void DrawWireCircle2d (const AZ::Vector2 &center, float radius, float z)
 
virtual void DrawArc (const AZ::Vector3 &pos, float radius, float startAngleDegrees, float sweepAngleDegrees, float angularStepDegrees, int referenceAxis=2)
 
virtual void DrawArc (const AZ::Vector3 &pos, float radius, float startAngleDegrees, float sweepAngleDegrees, float angularStepDegrees, const AZ::Vector3 &fixedAxis)
 
virtual void DrawCircle (const AZ::Vector3 &pos, float radius, int nUnchangedAxis=2)
 
virtual void DrawHalfDottedCircle (const AZ::Vector3 &pos, float radius, const AZ::Vector3 &viewPos, int nUnchangedAxis=2)
 
virtual void DrawWireCone (const AZ::Vector3 &pos, const AZ::Vector3 &dir, float radius, float height)
 
virtual void DrawSolidCone (const AZ::Vector3 &pos, const AZ::Vector3 &dir, float radius, float height, bool drawShaded=true)
 
virtual void DrawWireCylinder (const AZ::Vector3 &center, const AZ::Vector3 &axis, float radius, float height)
 
virtual void DrawSolidCylinder (const AZ::Vector3 &center, const AZ::Vector3 &axis, float radius, float height, bool drawShaded=true)
 
virtual void DrawWireCylinderNoEnds (const AZ::Vector3 &center, const AZ::Vector3 &axis, float radius, float height)
 
virtual void DrawSolidCylinderNoEnds (const AZ::Vector3 &center, const AZ::Vector3 &axis, float radius, float height, bool drawShaded=true)
 
virtual void DrawWireCapsule (const AZ::Vector3 &center, const AZ::Vector3 &axis, float radius, float heightStraightSection)
 
virtual void DrawWireSphere (const AZ::Vector3 &pos, float radius)
 
virtual void DrawWireSphere (const AZ::Vector3 &pos, const AZ::Vector3 radius)
 
virtual void DrawWireHemisphere (const AZ::Vector3 &pos, const AZ::Vector3 &axis, float radius)
 
virtual void DrawWireDisk (const AZ::Vector3 &pos, const AZ::Vector3 &dir, float radius)
 
virtual void DrawBall (const AZ::Vector3 &pos, float radius, bool drawShaded=true)
 
virtual void DrawDisk (const AZ::Vector3 &pos, const AZ::Vector3 &dir, float radius, bool drawShaded=true)
 
virtual void DrawArrow (const AZ::Vector3 &src, const AZ::Vector3 &trg, float fHeadScale=1, bool b2SidedArrow=false)
 
virtual void DrawTextLabel (const AZ::Vector3 &pos, float size, const char *text, const bool bCenter=false, int srcOffsetX=0, int srcOffsetY=0)
 
virtual void Draw2dTextLabel (float x, float y, float size, const char *text, bool bCenter=false)
 
virtual void DrawTextOn2DBox (const AZ::Vector3 &pos, const char *text, float textScale, const AZ::Vector4 &TextColor, const AZ::Vector4 &TextBackColor)
 
virtual void SetLineWidth (float width)
 
virtual bool IsVisible (const AZ::Aabb &bounds)
 
virtual float GetLineWidth ()
 
virtual float GetAspectRatio ()
 
virtual void DepthTestOff ()
 
virtual void DepthTestOn ()
 
virtual void DepthWriteOff ()
 
virtual void DepthWriteOn ()
 
virtual void CullOff ()
 
virtual void CullOn ()
 
virtual bool SetDrawInFrontMode (bool bOn)
 
virtual AZ::u32 GetState ()
 
virtual AZ::u32 SetState (AZ::u32 state)
 
virtual void PushMatrix (const AZ::Transform &tm)
 
virtual void PopMatrix ()
 
virtual void PushPremultipliedMatrix (const AZ::Matrix3x4 &matrix)
 
virtual AZ::Matrix3x4 PopPremultipliedMatrix ()
 

Static Public Attributes

static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::ById
 
static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single
 

Detailed Description

DebugDisplayRequests provides a debug draw api to be used by components and viewport features.

Member Function Documentation

◆ DrawQuad2dGradient()

virtual void AzFramework::DebugDisplayRequests::DrawQuad2dGradient ( const AZ::Vector2 &  p1,
const AZ::Vector2 &  p2,
const AZ::Vector2 &  p3,
const AZ::Vector2 &  p4,
float  z,
const AZ::Color &  firstColor,
const AZ::Color &  secondColor 
)
inlinevirtual

Draws a 2D quad with gradient to the viewport.

Parameters
p1p2 p3 p4 Normalized screen coordinates of the 4 points on the quad. <0, 0> is the upper-left corner of the viewport, <1,1> is the lower-right corner of the viewport.
zDepth value. Useful when rendering multiple 2d quads on screen and you want them to stack in a particular order.
firstColor.Vertex color applied to p1 p2.
secondColor.Vertex color applied to p3 p4.

◆ SetState()

virtual AZ::u32 AzFramework::DebugDisplayRequests::SetState ( AZ::u32  state)
inlinevirtual

Sets the render state which will affect proceeding draw calls. For example, if you want draws to happen in 2D screen-space, you can turn off the e_Mode3D flag and turn on the e_Mode2D flag.

Parameters
stateis the bit field used to set render attributes. See CryCommon/IRenderAuxGeom.h for available bit flags.
Returns
the current state

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