Blender V4.3
blender::gpu::Immediate Class Referenceabstract

#include <gpu_immediate_private.hh>

Inherited by blender::gpu::GLImmediate, blender::gpu::MTLImmediate, and blender::gpu::VKImmediate.

Public Member Functions

 Immediate ()
virtual ~Immediate ()
virtual ucharbegin ()=0
virtual void end ()=0

Public Attributes

ucharvertex_data = nullptr
uint vertex_idx = 0
uint vertex_len = 0
uint16_t unassigned_attr_bits = 0
uint16_t enabled_attr_bits = 0
GPUPrimType prim_type = GPU_PRIM_NONE
GPUVertFormat vertex_format = {}
GPUShadershader = nullptr
bool strict_vertex_len = true
Batch * batch = nullptr
std::optional< eGPUBuiltinShaderprev_builtin_shader
std::optional< eGPUBuiltinShaderbuiltin_shader_bound
float uniform_color [4]

Detailed Description

Definition at line 22 of file gpu_immediate_private.hh.

Constructor & Destructor Documentation

◆ Immediate()

blender::gpu::Immediate::Immediate ( )
inline

Definition at line 55 of file gpu_immediate_private.hh.

◆ ~Immediate()

virtual blender::gpu::Immediate::~Immediate ( )
inlinevirtual

Definition at line 56 of file gpu_immediate_private.hh.

Member Function Documentation

◆ begin()

virtual uchar * blender::gpu::Immediate::begin ( )
pure virtual

◆ end()

virtual void blender::gpu::Immediate::end ( )
pure virtual

Member Data Documentation

◆ batch

Batch* blender::gpu::Immediate::batch = nullptr

Batch in construction when using immBeginBatch.

Definition at line 43 of file gpu_immediate_private.hh.

◆ builtin_shader_bound

std::optional<eGPUBuiltinShader> blender::gpu::Immediate::builtin_shader_bound

Builtin shader index. Used to test if the line width workaround can be done.

Definition at line 50 of file gpu_immediate_private.hh.

◆ enabled_attr_bits

uint16_t blender::gpu::Immediate::enabled_attr_bits = 0

Attributes that needs to be set. One bit per attribute.

Definition at line 33 of file gpu_immediate_private.hh.

◆ prev_builtin_shader

std::optional<eGPUBuiltinShader> blender::gpu::Immediate::prev_builtin_shader

Wide Line workaround. Previously bound shader to restore after drawing.

Definition at line 48 of file gpu_immediate_private.hh.

◆ prim_type

GPUPrimType blender::gpu::Immediate::prim_type = GPU_PRIM_NONE

◆ shader

GPUShader* blender::gpu::Immediate::shader = nullptr

◆ strict_vertex_len

bool blender::gpu::Immediate::strict_vertex_len = true

Enforce strict vertex count (disabled when using immBeginAtMost).

Definition at line 40 of file gpu_immediate_private.hh.

Referenced by blender::gpu::GLImmediate::begin(), and blender::gpu::GLImmediate::end().

◆ unassigned_attr_bits

uint16_t blender::gpu::Immediate::unassigned_attr_bits = 0

Which attributes of current vertex have not been given values?

Definition at line 31 of file gpu_immediate_private.hh.

◆ uniform_color

float blender::gpu::Immediate::uniform_color[4]

Uniform color: Kept here to update the wide-line shader just before immBegin.

Definition at line 52 of file gpu_immediate_private.hh.

◆ vertex_data

uchar* blender::gpu::Immediate::vertex_data = nullptr

Pointer to the mapped buffer data for the current vertex.

Definition at line 25 of file gpu_immediate_private.hh.

◆ vertex_format

◆ vertex_idx

uint blender::gpu::Immediate::vertex_idx = 0

◆ vertex_len


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