Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::noUniformBuffer Class Referencefinal

#include <NonePlaceholderObjects.h>

+ Inheritance diagram for Divide::noUniformBuffer:

Public Member Functions

 noUniformBuffer (GFXDevice &context, const ShaderBufferDescriptor &descriptor)
 
BufferLock writeBytesInternal (BufferRange range, const bufferPtr data) noexcept override
 
void readBytesInternal (BufferRange range, std::pair< bufferPtr, size_t > outData) noexcept override
 
LockableBuffergetBufferImpl () override
 
- Public Member Functions inherited from Divide::ShaderBuffer
 ShaderBuffer (GFXDevice &context, const ShaderBufferDescriptor &descriptor)
 
void readData (BufferRange range, std::pair< bufferPtr, size_t > outData)
 
void readBytes (BufferRange range, std::pair< bufferPtr, size_t > outData)
 
BufferLock clearData (BufferRange range)
 
BufferLock clearBytes (BufferRange range)
 
BufferLock writeData (BufferRange range, const bufferPtr data)
 
BufferLock writeBytes (BufferRange range, const bufferPtr data)
 
BufferUpdateUsage getUpdateUsage () const noexcept
 
BufferUpdateFrequency getUpdateFrequency () const noexcept
 
FORCE_INLINE I32 getStartIndex (const bool read) const noexcept
 
FORCE_INLINE size_t getStartOffset (const bool read) const noexcept
 
FORCE_INLINE U32 getPrimitiveCount () const noexcept
 
FORCE_INLINE size_t getPrimitiveSize () const noexcept
 
FORCE_INLINE BufferUsageType getUsage () const noexcept
 
FORCE_INLINE BufferLock writeData (const bufferPtr data)
 
FORCE_INLINE BufferLock clearData ()
 
virtual LockableBuffergetBufferImpl ()=0
 
 PROPERTY_R (size_t, alignedBufferSize, 0u)
 
 PROPERTY_R (size_t, alignmentRequirement, sizeof(U32))
 
 PROPERTY_R (string, name)
 
 PROPERTY_R (U64, lastWrittenFrame, 0u)
 
 PROPERTY_R (U64, lastReadFrame, 0u)
 
- Public Member Functions inherited from Divide::GUIDWrapper
 GUIDWrapper () noexcept
 
 GUIDWrapper (const GUIDWrapper &old) noexcept
 
 GUIDWrapper (GUIDWrapper &&old) noexcept
 
virtual ~GUIDWrapper ()=default
 
FORCE_INLINE I64 getGUID () const noexcept
 
GUIDWrapperoperator= (const GUIDWrapper &old)=delete
 
GUIDWrapperoperator= (GUIDWrapper &&other)=delete
 
- Public Member Functions inherited from Divide::GraphicsResource
virtual ~GraphicsResource ()
 
GFXDevicecontext () const noexcept
 
U64 nameHash () const noexcept
 
- Public Member Functions inherited from Divide::NonCopyable
 NonCopyable (const NonCopyable &)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=default
 
NonCopyableoperator= (NonCopyable &&)=default
 
- Public Member Functions inherited from Divide::NonMovable
 NonMovable (NonMovable &&)=delete
 
NonMovableoperator= (NonMovable &&)=delete
 
 NonMovable (const NonMovable &)=default
 
NonMovableoperator= (const NonMovable &)=default
 
- Public Member Functions inherited from Divide::RingBufferSeparateWrite
 RingBufferSeparateWrite (U16 queueLength, bool separateReadWrite, bool writeAhead=true) noexcept
 
virtual ~RingBufferSeparateWrite ()=default
 
virtual void resize (U16 queueLength)
 
U16 queueLength () const noexcept
 
I32 queueWriteIndex () const noexcept
 
I32 queueReadIndex () const noexcept
 
I32 incQueue () noexcept
 
I32 decQueue () noexcept
 

Additional Inherited Members

- Public Types inherited from Divide::GraphicsResource
enum class  Type : U8 {
  RENDER_TARGET , SHADER_BUFFER , BUFFER , SHADER ,
  SHADER_PROGRAM , TEXTURE , COUNT
}
 
- Static Public Member Functions inherited from Divide::ShaderBuffer
static size_t AlignmentRequirement (BufferUsageType usage) noexcept
 
- Static Public Member Functions inherited from Divide::GUIDWrapper
static I64 generateGUID () noexcept
 
virtual void readBytesInternal (BufferRange range, std::pair< bufferPtr, size_t > outData)=0
 
virtual BufferLock writeBytesInternal (BufferRange range, const bufferPtr data)=0
 
- Protected Member Functions inherited from Divide::GraphicsResource
 GraphicsResource (GFXDevice &context, Type type, I64 GUID, U64 nameHash)
 
- Protected Member Functions inherited from Divide::NonCopyable
 NonCopyable ()=default
 
 ~NonCopyable ()=default
 
- Protected Member Functions inherited from Divide::NonMovable
 NonMovable ()=default
 
 ~NonMovable ()=default
 
- Protected Attributes inherited from Divide::ShaderBuffer
BufferParams _params
 
size_t _maxSize { 0u }
 
U64 _lastWriteFrameNumber { 0u }
 
- Protected Attributes inherited from Divide::GUIDWrapper
const I64 _guid
 
- Protected Attributes inherited from Divide::GraphicsResource
GFXDevice_context
 

Detailed Description

Definition at line 89 of file NonePlaceholderObjects.h.

Constructor & Destructor Documentation

◆ noUniformBuffer()

Divide::noUniformBuffer::noUniformBuffer ( GFXDevice context,
const ShaderBufferDescriptor descriptor 
)
inline

Definition at line 91 of file NonePlaceholderObjects.h.

Member Function Documentation

◆ getBufferImpl()

LockableBuffer * Divide::noUniformBuffer::getBufferImpl ( )
inlineoverridevirtual

Implements Divide::ShaderBuffer.

Definition at line 98 of file NonePlaceholderObjects.h.

◆ readBytesInternal()

void Divide::noUniformBuffer::readBytesInternal ( BufferRange  range,
std::pair< bufferPtr, size_t >  outData 
)
inlineoverridevirtualnoexcept

Implements Divide::ShaderBuffer.

Definition at line 96 of file NonePlaceholderObjects.h.

◆ writeBytesInternal()

BufferLock Divide::noUniformBuffer::writeBytesInternal ( BufferRange  range,
const bufferPtr  data 
)
inlineoverridevirtualnoexcept

Implements Divide::ShaderBuffer.

Definition at line 95 of file NonePlaceholderObjects.h.


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