Open 3D Engine Atom Gem API Reference 25.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::RHI::DrawItem Struct Reference

Public Member Functions

 DrawItem (MultiDevice::DeviceMask deviceMask)
 
 DrawItem (MultiDevice::DeviceMask deviceMask, AZStd::unordered_map< int, DeviceDrawItem * > &&deviceDrawItemPtrs)
 
 DrawItem (const DrawItem &other)=delete
 
 DrawItem (DrawItem &&other)=default
 
DrawItemoperator= (const DrawItem &other)=delete
 
DrawItemoperator= (DrawItem &&other)=default
 
const DeviceDrawItemGetDeviceDrawItem (int deviceIndex) const
 Returns the device-specific DeviceDrawItem for the given index.
 
bool GetEnabled () const
 
PipelineStateType GetPipelineStateType () const
 
void SetEnabled (bool enabled)
 
void SetStencilRef (uint8_t stencilRef)
 
void SetPipelineState (const PipelineState *pipelineState)
 
void SetShaderResourceGroups (const ShaderResourceGroup *const *shaderResourceGroups, uint32_t shaderResourceGroupCount)
 Shader Resource Groups.
 
void SetUniqueShaderResourceGroup (const ShaderResourceGroup *uniqueShaderResourceGroup)
 
void SetRootConstants (const uint8_t *rootConstants, uint8_t rootConstantSize)
 Array of root constants to bind (count must match m_rootConstantSize).
 
void SetScissors (const Scissor *scissors, uint8_t scissorsCount)
 
void SetViewports (const Viewport *viewports, uint8_t viewportCount)
 
void SetDrawInstanceArgs (const RHI::DrawInstanceArguments &drawInstanceArgs)
 
void SetGeometryView (RHI::GeometryView *geometryView)
 
void SetStreamIndices (RHI::StreamBufferIndices streamIndices)
 

Friends

class DrawPacketBuilder
 

Member Function Documentation

◆ GetPipelineStateType()

PipelineStateType AZ::RHI::DrawItem::GetPipelineStateType ( ) const
inline

The pipeline state type is the same regardless of the device, so we query here the default device.

◆ SetScissors()

void AZ::RHI::DrawItem::SetScissors ( const Scissor scissors,
uint8_t  scissorsCount 
)
inline

List of scissors to be applied to this draw item only. Scissor will be restored to the previous state after the DrawItem has been processed.

◆ SetUniqueShaderResourceGroup()

void AZ::RHI::DrawItem::SetUniqueShaderResourceGroup ( const ShaderResourceGroup uniqueShaderResourceGroup)
inline

Unique SRG, not shared within the draw packet. This is usually a per-draw SRG, populated with the shader variant fallback key

◆ SetViewports()

void AZ::RHI::DrawItem::SetViewports ( const Viewport viewports,
uint8_t  viewportCount 
)
inline

List of viewports to be applied to this draw item only. Viewports will be restored to the previous state after the DrawItem has been processed.


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