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

#include <gpu_uniform_buffer_private.hh>

Inherited by blender::gpu::GLUniformBuf, blender::gpu::MTLUniformBuf, and blender::gpu::VKUniformBuffer.

Public Member Functions

 UniformBuf (size_t size, const char *name)
 
virtual ~UniformBuf ()
 
virtual void update (const void *data)=0
 
virtual void clear_to_zero ()=0
 
virtual void bind (int slot)=0
 
virtual void bind_as_ssbo (int slot)=0
 
virtual void unbind ()=0
 
void attach_data (void *data)
 

Protected Attributes

size_t size_in_bytes_
 
void * data_ = nullptr
 
char name_ [DEBUG_NAME_LEN]
 

Detailed Description

Implementation of Uniform Buffers. Base class which is then specialized for each implementation (GL, VK, ...).

Definition at line 28 of file gpu_uniform_buffer_private.hh.

Constructor & Destructor Documentation

◆ UniformBuf()

blender::gpu::UniformBuf::UniformBuf ( size_t size,
const char * name )

Definition at line 31 of file gpu_uniform_buffer.cc.

References BLI_assert, name_, size(), size_in_bytes_, and STRNCPY.

◆ ~UniformBuf()

blender::gpu::UniformBuf::~UniformBuf ( )
virtual

Definition at line 41 of file gpu_uniform_buffer.cc.

References data_, and MEM_SAFE_FREE.

Member Function Documentation

◆ attach_data()

void blender::gpu::UniformBuf::attach_data ( void * data)
inline

Used to defer data upload at drawing time. This is useful if the thread has no context bound. This transfers ownership to this UniformBuf.

Definition at line 50 of file gpu_uniform_buffer_private.hh.

References data, and data_.

Referenced by GPU_uniformbuf_create_from_list().

◆ bind()

virtual void blender::gpu::UniformBuf::bind ( int slot)
pure virtual

◆ bind_as_ssbo()

virtual void blender::gpu::UniformBuf::bind_as_ssbo ( int slot)
pure virtual

◆ clear_to_zero()

virtual void blender::gpu::UniformBuf::clear_to_zero ( )
pure virtual

◆ unbind()

virtual void blender::gpu::UniformBuf::unbind ( )
pure virtual

◆ update()

virtual void blender::gpu::UniformBuf::update ( const void * data)
pure virtual

Member Data Documentation

◆ data_

void* blender::gpu::UniformBuf::data_ = nullptr
protected

◆ name_

char blender::gpu::UniformBuf::name_[DEBUG_NAME_LEN]
protected

◆ size_in_bytes_


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