Blender  V3.3
Public Member Functions | Protected Member Functions | Friends | List of all members
blender::gpu::GLVertBuf Class Reference

#include <gl_vertex_buffer.hh>

Inheritance diagram for blender::gpu::GLVertBuf:
blender::gpu::VertBuf

Public Member Functions

void bind ()
 
void update_sub (uint start, uint len, const void *data) override
 
const voidread () const override
 
voidunmap (const void *mapped_data) const override
 
void wrap_handle (uint64_t handle) override
 
- Public Member Functions inherited from blender::gpu::VertBuf
 VertBuf ()
 
virtual ~VertBuf ()
 
void init (const GPUVertFormat *format, GPUUsageType usage)
 
void clear ()
 
void allocate (uint vert_len)
 
void resize (uint vert_len)
 
void upload ()
 
VertBufduplicate ()
 
size_t size_alloc_get () const
 
size_t size_used_get () const
 
void reference_add ()
 
void reference_remove ()
 

Protected Member Functions

void acquire_data () override
 
void resize_data () override
 
void release_data () override
 
void upload_data () override
 
void duplicate_data (VertBuf *dst) override
 
void bind_as_ssbo (uint binding) override
 
void bind_as_texture (uint binding) override
 

Friends

class GLTexture
 
class GLShader
 
class GLStorageBuf
 

Additional Inherited Members

- Public Attributes inherited from blender::gpu::VertBuf
GPUVertFormat format = {}
 
uint vertex_len = 0
 
uint vertex_alloc = 0
 
GPUVertBufStatus flag = GPU_VERTBUF_INVALID
 
uchardata = nullptr
 
- Static Public Attributes inherited from blender::gpu::VertBuf
static size_t memory_usage = 0
 
- Protected Attributes inherited from blender::gpu::VertBuf
GPUUsageType usage_ = GPU_USAGE_STATIC
 

Detailed Description

Definition at line 21 of file gl_vertex_buffer.hh.

Member Function Documentation

◆ acquire_data()

void blender::gpu::GLVertBuf::acquire_data ( )
overrideprotectedvirtual

◆ bind()

void blender::gpu::GLVertBuf::bind ( )

◆ bind_as_ssbo()

void blender::gpu::GLVertBuf::bind_as_ssbo ( uint  binding)
overrideprotectedvirtual

Implements blender::gpu::VertBuf.

Definition at line 111 of file gl_vertex_buffer.cc.

References bind(), and BLI_assert.

◆ bind_as_texture()

void blender::gpu::GLVertBuf::bind_as_texture ( uint  binding)
overrideprotectedvirtual

◆ duplicate_data()

void blender::gpu::GLVertBuf::duplicate_data ( VertBuf dst)
overrideprotectedvirtual

◆ read()

const void * blender::gpu::GLVertBuf::read ( ) const
overridevirtual

Implements blender::gpu::VertBuf.

Definition at line 128 of file gl_vertex_buffer.cc.

References BLI_assert, and result.

◆ release_data()

void blender::gpu::GLVertBuf::release_data ( )
overrideprotectedvirtual

◆ resize_data()

void blender::gpu::GLVertBuf::resize_data ( )
overrideprotectedvirtual

◆ unmap()

void * blender::gpu::GLVertBuf::unmap ( const void mapped_data) const
overridevirtual

Implements blender::gpu::VertBuf.

Definition at line 135 of file gl_vertex_buffer.cc.

References MEM_mallocN, and result.

◆ update_sub()

void blender::gpu::GLVertBuf::update_sub ( uint  start,
uint  len,
const void data 
)
overridevirtual

Implements blender::gpu::VertBuf.

Definition at line 162 of file gl_vertex_buffer.cc.

References blender::gpu::VertBuf::data, and len.

◆ upload_data()

void blender::gpu::GLVertBuf::upload_data ( )
overrideprotectedvirtual

Implements blender::gpu::VertBuf.

Definition at line 78 of file gl_vertex_buffer.cc.

References bind().

◆ wrap_handle()

void blender::gpu::GLVertBuf::wrap_handle ( uint64_t  handle)
overridevirtual

Friends And Related Function Documentation

◆ GLShader

friend class GLShader
friend

Definition at line 23 of file gl_vertex_buffer.hh.

◆ GLStorageBuf

friend class GLStorageBuf
friend

Definition at line 24 of file gl_vertex_buffer.hh.

◆ GLTexture

friend class GLTexture
friend

Definition at line 22 of file gl_vertex_buffer.hh.


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