You.i Engine
IYIUniformBufferObject Class Referenceabstract

Detailed Description

Common interface for shader uniform buffers.

#include <renderer/YiUniformBufferObject.h>

Inheritance diagram for IYIUniformBufferObject:

Public Types

enum  Type {
  Type::Float,
  Type::FVec2,
  Type::FVec3,
  Type::FVec4,
  Type::Integer,
  Type::IVec2,
  Type::IVec3,
  Type::IVec4,
  Type::Mat2,
  Type::Mat3,
  Type::Mat4
}
 
- Public Types inherited from IYIGPUObject
enum  Status {
  Status::Invalid,
  Status::Unloaded,
  Status::LoadedFresh,
  Status::LoadedStale
}
 

Public Member Functions

virtual void Set (const CYIUniformBufferId &uniformBufferId, Type type, uint32_t count, const char *pData)=0
 
virtual void Remove (const CYIUniformBufferId &uniformBufferId)=0
 
- Public Member Functions inherited from IYIGPUObject
 IYIGPUObject ()
 
virtual ~IYIGPUObject ()
 
virtual void Load (const std::shared_ptr< CYIAssetHardware > &pHWAsset)=0
 
virtual void Unload ()=0
 
Status GetStatus () const
 
virtual void Use () const =0
 
virtual void Generate ()=0
 
virtual void Free ()=0
 
virtual void InvalidateHandle ()=0
 

Additional Inherited Members

- Protected Attributes inherited from IYIGPUObject
Status m_status
 

Member Enumeration Documentation

◆ Type

Enumerator
Float 
FVec2 
FVec3 
FVec4 
Integer 
IVec2 
IVec3 
IVec4 
Mat2 
Mat3 
Mat4 

Member Function Documentation

◆ Remove()

virtual void IYIUniformBufferObject::Remove ( const CYIUniformBufferId uniformBufferId)
pure virtual

An interface for removing data in a uniform buffer object.

◆ Set()

virtual void IYIUniformBufferObject::Set ( const CYIUniformBufferId uniformBufferId,
Type  type,
uint32_t  count,
const char *  pData 
)
pure virtual

An interface for setting data in a uniform buffer object. The data will be associated with the name given, and subsequent calls to Use() will set the data appropriately.


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