Pioneer
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Graphics::OGL::UniformLinearBuffer Class Reference

#include <UniformBuffer.h>

Inheritance diagram for Graphics::OGL::UniformLinearBuffer:
Inheritance graph
[legend]
Collaboration diagram for Graphics::OGL::UniformLinearBuffer:
Collaboration graph
[legend]

Public Member Functions

 UniformLinearBuffer (uint32_t maxSize)
 
 ~UniformLinearBuffer () override
 
 UniformLinearBuffer (const UniformLinearBuffer &)=delete
 
UniformLinearBufferoperator= (const UniformLinearBuffer &)=delete
 
void Unmap () override
 
void Flush ()
 
void Reset ()
 
uint32_t FreeSize () const
 
uint32_t NumAllocs () const
 
template<typename T >
ScopedMapping< T > Allocate (BufferBinding< UniformBuffer > &outBinding)
 
BufferBinding< UniformBufferAllocate (void *data, size_t size)
 
- Public Member Functions inherited from Graphics::OGL::UniformBuffer
 UniformBuffer (uint32_t size, BufferUsage usage)
 
 ~UniformBuffer () override
 
void Unmap () override
 
void BufferData (const size_t, void *) override
 
void BindRange (uint32_t binding, uint32_t offset, uint32_t range)
 
void Release ()
 
- Public Member Functions inherited from Graphics::UniformBuffer
 UniformBuffer (uint32_t size, BufferUsage usage)
 
virtual ~UniformBuffer ()
 
template<typename T >
ScopedMapping< T > Map (BufferMapMode mode)
 
virtual void Unmap ()=0
 
template<typename T >
void BufferData (const T &obj)
 
virtual void BufferData (const size_t, void *)=0
 
BufferBinding< UniformBufferGetBufferBinding ()
 
- Public Member Functions inherited from Graphics::Mappable
virtual ~Mappable ()
 
virtual void Unmap ()=0
 
uint32_t GetSize () const
 
uint32_t GetCapacity () const
 
- Public Member Functions inherited from RefCounted
 RefCounted ()
 
virtual ~RefCounted ()
 
void IncRefCount () const
 
void DecRefCount () const
 
int GetRefCount () const
 
- Public Member Functions inherited from LuaWrappable
virtual ~LuaWrappable ()
 
- Public Member Functions inherited from Graphics::OGL::GLBufferBase
 GLBufferBase ()
 
GLuint GetBuffer () const
 

Protected Member Functions

void * AllocInternal (size_t size, BufferBinding< UniformBuffer > &outBinding)
 
void BufferData (const size_t, void *) override
 
- Protected Member Functions inherited from Graphics::OGL::UniformBuffer
void * MapInternal (BufferMapMode mode) override
 
virtual void * MapInternal (BufferMapMode mode)=0
 
- Protected Member Functions inherited from Graphics::Mappable
 Mappable (const uint32_t size)
 

Protected Attributes

std::unique_ptr< char[]> m_data
 
uint32_t m_lastFlush
 
uint32_t m_numAllocs
 
- Protected Attributes inherited from Graphics::UniformBuffer
BufferUsage m_usage
 
- Protected Attributes inherited from Graphics::Mappable
BufferMapMode m_mapMode
 
uint32_t m_size
 
uint32_t m_capacity
 
- Protected Attributes inherited from Graphics::OGL::GLBufferBase
GLuint m_buffer
 
bool m_written
 

Constructor & Destructor Documentation

◆ UniformLinearBuffer() [1/2]

UniformLinearBuffer::UniformLinearBuffer ( uint32_t  maxSize)

◆ ~UniformLinearBuffer()

UniformLinearBuffer::~UniformLinearBuffer ( )
override

◆ UniformLinearBuffer() [2/2]

Graphics::OGL::UniformLinearBuffer::UniformLinearBuffer ( const UniformLinearBuffer )
delete

Member Function Documentation

◆ Allocate() [1/2]

template<typename T >
ScopedMapping< T > Graphics::OGL::UniformLinearBuffer::Allocate ( BufferBinding< UniformBuffer > &  outBinding)
inline
Here is the call graph for this function:

◆ Allocate() [2/2]

BufferBinding< UniformBuffer > UniformLinearBuffer::Allocate ( void *  data,
size_t  size 
)
Here is the call graph for this function:

◆ AllocInternal()

void * UniformLinearBuffer::AllocInternal ( size_t  size,
BufferBinding< UniformBuffer > &  outBinding 
)
protected
Here is the call graph for this function:

◆ BufferData()

void UniformBuffer::BufferData ( const size_t  size,
void *  data 
)
overrideprotectedvirtual

Reimplemented from Graphics::OGL::UniformBuffer.

◆ Flush()

void UniformLinearBuffer::Flush ( )

◆ FreeSize()

uint32_t Graphics::OGL::UniformLinearBuffer::FreeSize ( ) const
inline

◆ NumAllocs()

uint32_t Graphics::OGL::UniformLinearBuffer::NumAllocs ( ) const
inline

◆ operator=()

UniformLinearBuffer & Graphics::OGL::UniformLinearBuffer::operator= ( const UniformLinearBuffer )
delete

◆ Reset()

void UniformLinearBuffer::Reset ( )

◆ Unmap()

void UniformLinearBuffer::Unmap ( )
overridevirtual

Reimplemented from Graphics::OGL::UniformBuffer.

Member Data Documentation

◆ m_data

std::unique_ptr<char[]> Graphics::OGL::UniformLinearBuffer::m_data
protected

◆ m_lastFlush

uint32_t Graphics::OGL::UniformLinearBuffer::m_lastFlush
protected

◆ m_numAllocs

uint32_t Graphics::OGL::UniformLinearBuffer::m_numAllocs
protected

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