Open 3D Engine Atom Gem API Reference  2205.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
Public Types | Public Member Functions | Friends | List of all members
AZ::RHI::DrawPacket Class Referencefinal

#include <DrawPacket.h>

Inherits intrusive_base.

Public Types

using DrawItemVisitor = AZStd::function< void(DrawListTag, DrawItemProperties)>

Public Member Functions

 Draw packets cannot be move constructed or copied, as they contain an additional memory payload.
DrawListMask GetDrawListMask () const
 Returns the mask representing all the draw lists affected by the packet.
size_t GetDrawItemCount () const
 Returns the number of draw items stored in the packet.
DrawItemProperties GetDrawItem (size_t index) const
 Returns the draw item and its properties associated with the provided index.
DrawListTag GetDrawListTag (size_t index) const
 Returns the draw list tag associated with the provided index.
DrawFilterMask GetDrawFilterMask () const
 Returns the draw filter mask which applied to all the draw items.
void operator delete (void *p, size_t size)
 Overloaded operator delete for freeing a draw packet.


class DrawPacketBuilder

Detailed Description

DrawPacket is a packed data structure (one contiguous allocation) containing a collection of DrawItems and their associated array data. Each draw item in the packet is associated with a DrawListTag. All draw items in the packet share the same set of shader resource groups, index buffer, one DrawFilterMask, and draw arguments.

Some notes about design and usage:

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