Blender V4.3
blender::draw::command::DrawGroup Struct Reference

#include <draw_command_shared.hh>

Public Attributes

uint next
 
uint start
 
uint len
 
uint front_facing_len
 
int vertex_len
 
int vertex_first
 
int base_index
 
uint total_counter
 
uint front_facing_counter
 
uint back_facing_counter
 
struct { 
 
   uint32_t   vertex_first 
 
   uint32_t   expand_prim_type: 4 
 
   uint32_t   expand_prim_len: 3 
 
   uint32_t   vertex_len: 25 
 
   gpu::Batch *   gpu_batch 
 
   uint64_t   _cpu_pad0 
 
desc 
 

Detailed Description

A DrawGroup allow to split the command stream into batch-able chunks of commands with the same render state.

Definition at line 25 of file draw_command_shared.hh.

Member Data Documentation

◆ _cpu_pad0

uint64_t blender::draw::command::DrawGroup::_cpu_pad0

Definition at line 82 of file draw_command_shared.hh.

◆ back_facing_counter

uint blender::draw::command::DrawGroup::back_facing_counter

Definition at line 54 of file draw_command_shared.hh.

Referenced by blender::draw::command::DrawMulti::serialize().

◆ base_index

int blender::draw::command::DrawGroup::base_index

Definition at line 46 of file draw_command_shared.hh.

◆ [struct]

struct { ... } blender::draw::command::DrawGroup::desc

◆ expand_prim_len

uint32_t blender::draw::command::DrawGroup::expand_prim_len

Definition at line 74 of file draw_command_shared.hh.

◆ expand_prim_type

uint32_t blender::draw::command::DrawGroup::expand_prim_type

Definition at line 73 of file draw_command_shared.hh.

◆ front_facing_counter

uint blender::draw::command::DrawGroup::front_facing_counter

Definition at line 53 of file draw_command_shared.hh.

Referenced by blender::draw::command::DrawMulti::serialize().

◆ front_facing_len

uint blender::draw::command::DrawGroup::front_facing_len

Number of non inverted scaling instances in this Group.

Definition at line 40 of file draw_command_shared.hh.

◆ gpu_batch

gpu::Batch* blender::draw::command::DrawGroup::gpu_batch

Needed to create the correct draw call.

Definition at line 78 of file draw_command_shared.hh.

Referenced by blender::draw::command::DrawMulti::execute().

◆ len

uint blender::draw::command::DrawGroup::len

Total number of instances (including inverted facing). Needed to issue the draw call.

Definition at line 38 of file draw_command_shared.hh.

Referenced by blender::draw::command::DrawMulti::serialize().

◆ next

uint blender::draw::command::DrawGroup::next

Index of next DrawGroup from the same header.

Definition at line 27 of file draw_command_shared.hh.

Referenced by blender::draw::command::DrawMultiBuf::append_draw(), and blender::draw::command::DrawMulti::serialize().

◆ start

uint blender::draw::command::DrawGroup::start

IMPORTANT: All the following 3 members do not take multi-view into account. They only count the number of input instances. The command generation shader must multiply them by view_len to get the correct indices for resource ids. Index of the first instances after sorting.

Definition at line 36 of file draw_command_shared.hh.

Referenced by blender::draw::command::DrawMulti::serialize().

◆ total_counter

uint blender::draw::command::DrawGroup::total_counter

Atomic counters used during command sorting. GPU only. Reset on CPU.

Definition at line 51 of file draw_command_shared.hh.

◆ vertex_first [1/2]

int blender::draw::command::DrawGroup::vertex_first

Definition at line 44 of file draw_command_shared.hh.

◆ vertex_first [2/2]

uint32_t blender::draw::command::DrawGroup::vertex_first

Definition at line 70 of file draw_command_shared.hh.

◆ vertex_len [1/2]

int blender::draw::command::DrawGroup::vertex_len

#gpu::Batch values (or subrange of) copied to DrawCommand after sorting.

Definition at line 43 of file draw_command_shared.hh.

◆ vertex_len [2/2]

uint32_t blender::draw::command::DrawGroup::vertex_len

Definition at line 75 of file draw_command_shared.hh.


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