sculpto
Public Member Functions | Static Public Member Functions | List of all members
scl::constant_buffer Class Referenceabstract

#include <buffer.h>

Inheritance diagram for scl::constant_buffer:
scl::gl_constant_buffer

Public Member Functions

virtual ~constant_buffer ()=default
 
virtual void Bind (u32 BindingPoint) const =0
 
virtual void Unbind () const =0
 
virtual void Update (void *Data, u32 Size)=0
 
virtual void Free ()=0
 

Static Public Member Functions

static shared< constant_bufferCreate (u32 Size)
 
static shared< constant_bufferCreate (const void *Data, u32 Size)
 

Detailed Description

Constant buffer (uniform buffer) interface.

Definition at line 40 of file buffer.h.

Constructor & Destructor Documentation

◆ ~constant_buffer()

virtual scl::constant_buffer::~constant_buffer ( )
virtualdefault

Constant buffer default destructor.

Member Function Documentation

◆ Bind()

virtual void scl::constant_buffer::Bind ( u32  BindingPoint) const
pure virtual
  • Bind buffer to current render stage function.
Parameters
None.
Returns
None.

Implemented in scl::gl_constant_buffer.

◆ Create() [1/2]

scl::shared< scl::constant_buffer > scl::constant_buffer::Create ( const void *  Data,
u32  Size 
)
static
  • Create API specific constant buffer filled with data.
Parameters
BindingPoint- shader_props binding point of buffer.
Data- buffer data pointer.
Size- buffer data size.
Returns
constant buffer pointer.

Definition at line 26 of file buffer.cpp.

27{
28 switch (render_context::GetApi())
29 {
30 case scl::render_context_api::OpenGL: return CreateShared<scl::gl_constant_buffer>(Data, Size);
31 case scl::render_context_api::DirectX: SCL_CORE_ASSERT(0, "This API is currently unsupported."); return nullptr;
32 }
33
34 SCL_CORE_ASSERT(0, "Unknown render API was selected.");
35 return nullptr;
36}
#define SCL_CORE_ASSERT(expr,...)
Definition: assert.h:69
static render_context_api GetApi()

◆ Create() [2/2]

scl::shared< scl::constant_buffer > scl::constant_buffer::Create ( u32  Size)
static
  • Create API specific empty constant buffer.
Parameters
BindingPoint- shader_props binding point of buffer.
Size- buffer data size.
Returns
constant buffer pointer.

Definition at line 14 of file buffer.cpp.

15{
16 switch (render_context::GetApi())
17 {
18 case scl::render_context_api::OpenGL: return CreateShared<scl::gl_constant_buffer>(Size);
19 case scl::render_context_api::DirectX: SCL_CORE_ASSERT(0, "This API is currently unsupported."); return nullptr;
20 }
21
22 SCL_CORE_ASSERT(0, "Unknown render API was selected.");
23 return nullptr;
24}

◆ Free()

virtual void scl::constant_buffer::Free ( )
pure virtual
  • Clear buffer from GPU memory function.
Parameters
None.
Returns
None.

Implemented in scl::gl_constant_buffer.

◆ Unbind()

virtual void scl::constant_buffer::Unbind ( ) const
pure virtual
  • Unbind buffer from current render stage function.
Parameters
None.
Returns
None.

Implemented in scl::gl_constant_buffer.

◆ Update()

virtual void scl::constant_buffer::Update ( void *  Data,
u32  Size 
)
pure virtual
  • Update buffer data function.
Parameters
Data- buffer data pointer.
Size- buffer data size.
Returns
None.

Implemented in scl::gl_constant_buffer.


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