#include <AuxGeomDraw.h>
Inherited by AZ::Render::AuxGeomDrawQueue.
Classes | |
struct | AuxGeomDynamicDrawArguments |
Common arguments for free polygon (point, line, Triangle) draws. More... | |
struct | AuxGeomDynamicIndexedDrawArguments |
Common arguments for free polygon (point, line, Triangle) indexed draws. More... | |
Public Types | |
enum class | DrawStyle : uint8_t { Point , Line , Solid , Shaded } |
enum class | DepthTest : uint8_t { On , Off } |
enum class | DepthWrite : uint8_t { On , Off } |
enum class | FaceCullMode : uint8_t { None , Front , Back } |
enum class | PolylineEnd : uint8_t { Open , Closed } |
enum class | OpacityType : uint8_t { Opaque , Translucent } |
Public Member Functions | |
virtual int32_t | AddViewProjOverride (const AZ::Matrix4x4 &viewProj)=0 |
virtual int32_t | GetOrAdd2DViewProjOverride ()=0 |
virtual void | SetPointSize (float pointSize)=0 |
virtual float | GetPointSize ()=0 |
virtual void | DrawPoints (const AuxGeomDynamicDrawArguments &args)=0 |
virtual void | DrawLines (const AuxGeomDynamicDrawArguments &args)=0 |
virtual void | DrawLines (const AuxGeomDynamicIndexedDrawArguments &args)=0 |
virtual void | DrawPolylines (const AuxGeomDynamicDrawArguments &args, PolylineEnd end=PolylineEnd::Open)=0 |
virtual void | DrawTriangles (const AuxGeomDynamicDrawArguments &args, FaceCullMode faceCull=FaceCullMode::None)=0 |
virtual void | DrawTriangles (const AuxGeomDynamicIndexedDrawArguments &args, FaceCullMode faceCull=FaceCullMode::None)=0 |
virtual void | DrawQuad (float width, float height, const AZ::Matrix3x4 &transform, const AZ::Color &color, DrawStyle style=DrawStyle::Shaded, DepthTest depthTest=DepthTest::On, DepthWrite depthWrite=DepthWrite::On, FaceCullMode faceCull=FaceCullMode::Back, int32_t viewProjOverrideIndex=-1)=0 |
virtual void | DrawSphere (const AZ::Vector3 ¢er, float radius, const AZ::Color &color, DrawStyle style=DrawStyle::Shaded, DepthTest depthTest=DepthTest::On, DepthWrite depthWrite=DepthWrite::On, FaceCullMode faceCull=FaceCullMode::Back, int32_t viewProjOverrideIndex=-1)=0 |
virtual void | DrawSphere (const AZ::Vector3 ¢er, const AZ::Vector3 &direction, float radius, const AZ::Color &color, DrawStyle style=DrawStyle::Shaded, DepthTest depthTest=DepthTest::On, DepthWrite depthWrite=DepthWrite::On, FaceCullMode faceCull=FaceCullMode::Back, int32_t viewProjOverrideIndex=-1)=0 |
virtual void | DrawHemisphere (const AZ::Vector3 ¢er, const AZ::Vector3 &direction, float radius, const AZ::Color &color, DrawStyle style=DrawStyle::Shaded, DepthTest depthTest=DepthTest::On, DepthWrite depthWrite=DepthWrite::On, FaceCullMode faceCull=FaceCullMode::Back, int32_t viewProjOverrideIndex=-1)=0 |
virtual void | DrawDisk (const AZ::Vector3 ¢er, const AZ::Vector3 &direction, float radius, const AZ::Color &color, DrawStyle style=DrawStyle::Shaded, DepthTest depthTest=DepthTest::On, DepthWrite depthWrite=DepthWrite::On, FaceCullMode faceCull=FaceCullMode::Back, int32_t viewProjOverrideIndex=-1)=0 |
virtual void | DrawCone (const AZ::Vector3 ¢er, const AZ::Vector3 &direction, float radius, float height, const AZ::Color &color, DrawStyle style=DrawStyle::Shaded, DepthTest depthTest=DepthTest::On, DepthWrite depthWrite=DepthWrite::On, FaceCullMode faceCull=FaceCullMode::Back, int32_t viewProjOverrideIndex=-1)=0 |
virtual void | DrawCylinder (const AZ::Vector3 ¢er, const AZ::Vector3 &direction, float radius, float height, const AZ::Color &color, DrawStyle style=DrawStyle::Shaded, DepthTest depthTest=DepthTest::On, DepthWrite depthWrite=DepthWrite::On, FaceCullMode faceCull=FaceCullMode::Back, int32_t viewProjOverrideIndex=-1)=0 |
virtual void | DrawCylinderNoEnds (const AZ::Vector3 ¢er, const AZ::Vector3 &direction, float radius, float height, const AZ::Color &color, DrawStyle style=DrawStyle::Shaded, DepthTest depthTest=DepthTest::On, DepthWrite depthWrite=DepthWrite::On, FaceCullMode faceCull=FaceCullMode::Back, int32_t viewProjOverrideIndex=-1)=0 |
virtual void | DrawAabb (const AZ::Aabb &aabb, const AZ::Color &color, DrawStyle style=DrawStyle::Shaded, DepthTest depthTest=DepthTest::On, DepthWrite depthWrite=DepthWrite::On, FaceCullMode faceCull=FaceCullMode::Back, int32_t viewProjOverrideIndex=-1)=0 |
virtual void | DrawAabb (const AZ::Aabb &aabb, const AZ::Matrix3x4 &transform, const AZ::Color &color, DrawStyle style=DrawStyle::Shaded, DepthTest depthTest=DepthTest::On, DepthWrite depthWrite=DepthWrite::On, FaceCullMode faceCull=FaceCullMode::Back, int32_t viewProjOverrideIndex=-1)=0 |
virtual void | DrawObb (const AZ::Obb &obb, const AZ::Vector3 &position, const AZ::Color &color, DrawStyle style=DrawStyle::Shaded, DepthTest depthTest=DepthTest::On, DepthWrite depthWrite=DepthWrite::On, FaceCullMode faceCull=FaceCullMode::Back, int32_t viewProjOverrideIndex=-1)=0 |
virtual void | DrawObb (const AZ::Obb &obb, const AZ::Matrix3x4 &transform, const AZ::Color &color, DrawStyle style=DrawStyle::Shaded, DepthTest depthTest=DepthTest::On, DepthWrite depthWrite=DepthWrite::On, FaceCullMode faceCull=FaceCullMode::Back, int32_t viewProjOverrideIndex=-1)=0 |
virtual void | DrawFrustum (const AZ::Frustum &frustum, const AZ::Color &color, bool drawNormals=true, DrawStyle style=DrawStyle::Shaded, DepthTest depthTest=DepthTest::On, DepthWrite depthWrite=DepthWrite::On, FaceCullMode faceCull=FaceCullMode::Back, int32_t viewProjOverrideIndex=-1)=0 |
The drawing interface of the AuxGeom system, which is used for drawing Auxiliary Geometry, both for debug and things like editor manipulators. An object implementing this interface can have internal state indicating which scene it is drawing to and whether it is immediate mode or persistent. To get a pointer to an AuxGeomDraw interface use a helper function like AuxGeomFeatureProcessorInterface::GetDrawQueueForScene.
Translucency: If a geometry is considered translucent that then it will be depth sorted. Also translucent geometry will not be combined with any other geometry to reduce draw calls. For functions where a single color is provided, the given color is used to determine if the geometry is opaque or translucent. If multiple colors are provided then a separate parameter of type OpacityType is used to indicate if the geometry is opaque or translucent.
|
strong |
|
strong |
Used to indicate whether geometry should be considered opaque or translucent. This is only used when more than one color is provided. If there is a single color then the alpha is used to determine whether it is opaque.
|
pure virtual |
Draw an axis-aligned bounding box with no transform.
aabb | The AABB (typically the bounding box of a set of world space points). |
color | The color to draw the box. |
style | The draw style (point, wireframe, solid, shaded etc). |
depthTest | If depth testing should be enabled |
depthWrite | If depth writing should be enabled |
faceCull | Which (if any) facing triangles should be culled |
viewProjOverrideIndex | Which view projection override entry to use, -1 if unused |
Implemented in AZ::Render::AuxGeomDrawQueue.
|
pure virtual |
style | The draw style (point, wireframe, solid, shaded etc). |
depthTest | If depth testing should be enabled |
depthWrite | If depth writing should be enabled |
faceCull | Which (if any) facing triangles should be culled |
viewProjOverrideIndex | Which view projection override entry to use, -1 if unused |
Implemented in AZ::Render::AuxGeomDrawQueue.
|
pure virtual |
Draw a cone.
center | The center of the cone base. |
direction | The direction vector. This is the vector from the center of the base to the point at the tip. |
radius | The radius. |
height | The height of the cone (the distance from the base center to the tip). |
color | The color to draw the cone. |
style | The draw style (point, wireframe, solid, shaded etc). |
depthTest | If depth testing should be enabled |
depthWrite | If depth writing should be enabled |
faceCull | Which (if any) facing triangles should be culled |
viewProjOverrideIndex | Which view projection override entry to use, -1 if unused |
Implemented in AZ::Render::AuxGeomDrawQueue.
|
pure virtual |
Draw a cylinder (with flat disks on the end).
center | The center of the base circle. |
direction | The direction vector. The top end cap of the cylinder will face along this vector. |
radius | The radius. |
height | The height of the cylinder. |
color | The color to draw the cylinder. |
style | The draw style (point, wireframe, solid, shaded etc). |
depthTest | If depth testing should be enabled |
depthWrite | If depth writing should be enabled |
faceCull | Which (if any) facing triangles should be culled |
viewProjOverrideIndex | Which view projection override entry to use, -1 if unused |
Implemented in AZ::Render::AuxGeomDrawQueue.
|
pure virtual |
Draw a cylinder without flat disk on the end.
center | The center of the base circle. |
direction | The direction vector. The top end cap of the cylinder will face along this vector. |
radius | The radius. |
height | The height of the cylinder. |
color | The color to draw the cylinder. |
style | The draw style (point, wireframe, solid, shaded etc). |
depthTest | If depth testing should be enabled |
depthWrite | If depth writing should be enabled |
faceCull | Which (if any) facing triangles should be culled |
viewProjOverrideIndex | Which view projection override entry to use, -1 if unused |
Implemented in AZ::Render::AuxGeomDrawQueue.
|
pure virtual |
Draw a disk.
center | The center of the disk. |
direction | The direction vector. The disk will be orthogonal this vector. |
radius | The radius of the disk. |
color | The color to draw the disk. |
style | The draw style (point, wireframe, solid, shaded etc). |
depthTest | If depth testing should be enabled |
depthWrite | If depth writing should be enabled |
faceCull | Which (if any) facing triangles should be culled |
viewProjOverrideIndex | Which view projection override entry to use, -1 if unused |
Implemented in AZ::Render::AuxGeomDrawQueue.
|
pure virtual |
Draw a frustum.
frustum | The frustum |
color | The color to draw the frustum |
drawNormals | If true, frustum plane normals will be drawn as lines |
style | The draw style (point, wireframe, solid) Shaded not currently supported. |
depthTest | If depth testing should be enabled |
depthWrite | If depth writing should be enabled |
faceCull | Which (if any) facing triangles should be culled |
viewProjOverrideIndex | Which view projection override entry to use, -1 if unused |
Implemented in AZ::Render::AuxGeomDrawQueue.
|
pure virtual |
Draw a hemisphere.
center | The center of the sphere. |
direction | The direction vector. The Pole of the hemisphere will point along this vector. |
radius | The radius. |
color | The color to draw the sphere. |
style | The draw style (point, wireframe, solid, shaded etc). |
depthTest | If depth testing should be enabled |
depthWrite | If depth writing should be enabled |
faceCull | Which (if any) facing triangles should be culled |
viewProjOverrideIndex | Which view projection override entry to use, -1 if unused |
Implemented in AZ::Render::AuxGeomDrawQueue.
|
pure virtual |
style | The draw style (point, wireframe, solid, shaded etc). |
depthTest | If depth testing should be enabled |
depthWrite | If depth writing should be enabled |
faceCull | Which (if any) facing triangles should be culled |
viewProjOverrideIndex | Which view projection override entry to use, -1 if unused |
Implemented in AZ::Render::AuxGeomDrawQueue.
|
pure virtual |
Draw an oriented bounding box with a given position.
obb | The OBB (typically an oriented bounding box in model space). |
position | The position to translate the origin of the OBB to. |
color | The color to draw the box. |
style | The draw style (point, wireframe, solid, shaded etc). |
depthTest | If depth testing should be enabled |
depthWrite | If depth writing should be enabled |
faceCull | Which (if any) facing triangles should be culled |
viewProjOverrideIndex | Which view projection override entry to use, -1 if unused |
Implemented in AZ::Render::AuxGeomDrawQueue.
|
pure virtual |
closed | If true then a line will be drawn from the last point to the first. |
Implemented in AZ::Render::AuxGeomDrawQueue.
|
pure virtual |
Draw a quad.
width | The width of the quad. |
height | The height of the quad. |
transform | The world space transform for the quad. |
color | The color to draw the quad. |
style | The draw style (point, wireframe, solid, shaded etc). |
depthTest | If depth testing should be enabled |
depthWrite | If depth writing should be enabled |
faceCull | Which (if any) facing triangles should be culled |
viewProjOverrideIndex | Which view projection override entry to use, -1 if unused |
Implemented in AZ::Render::AuxGeomDrawQueue.
|
pure virtual |
Draw a sphere.
center | The center of the sphere. |
direction | The direction vector. The Pole of the hemisphere will point along this vector. |
radius | The radius. |
color | The color to draw the sphere. |
style | The draw style (point, wireframe, solid, shaded etc). |
depthTest | If depth testing should be enabled |
depthWrite | If depth writing should be enabled |
faceCull | Which (if any) facing triangles should be culled |
viewProjOverrideIndex | Which view projection override entry to use, -1 if unused |
Implemented in AZ::Render::AuxGeomDrawQueue.
|
pure virtual |
Draw a sphere.
center | The center of the sphere. |
radius | The radius. |
color | The color to draw the sphere. |
style | The draw style (point, wireframe, solid, shaded etc). |
depthTest | If depth testing should be enabled |
depthWrite | If depth writing should be enabled |
faceCull | Which (if any) facing triangles should be culled |
viewProjOverrideIndex | Which view projection override entry to use, -1 if unused |
Implemented in AZ::Render::AuxGeomDrawQueue.
|
pure virtual |
faceCull | Which (if any) facing triangles should be culled |
Implemented in AZ::Render::AuxGeomDrawQueue.