FVertexInputVariableInfo

namespace marengine
struct FVertexInputDescription

Public Members

std::vector<FVertexInputVariableInfo> inputVariables
uint32 binding = {0}
uint32 stride = {0}
struct FVertexInputVariableInfo

Public Members

EInputType inputType = {EInputType::NONE}
uint32 location = {0}
uint32 offset = {0}
class IBuffer : public FRenderResource

Subclassed by IMeshBuffer, IShaderBuffer

Public Functions

void free() = 0
void destroy() = 0
void bind() const = 0
void update(const float *data, uint32 offset, uint32 sizeOfData) const = 0
void update(const uint32 *data, uint32 offset, uint32 sizeOfData) const = 0
void update(const int32 *data, uint32 offset, uint32 sizeOfData) const = 0
class IBufferFactory : public FRenderResourceFactory

Subclassed by FBufferFactory

Public Functions

FShaderBuffer *emplaceSSBO() = 0
FShaderBuffer *emplaceUBO() = 0
FVertexBuffer *emplaceVBO() = 0
FIndexBuffer *emplaceIBO() = 0
uint32 fillCameraSSBO(FShaderBuffer *const pShaderBuffer, const FRenderCamera *const pRenderCamera) const = 0
uint32 fillPointLightSSBO(FShaderBuffer *const pShaderBuffer, const FPointLightBatch *const pPointLightBatch) const = 0
class IBufferStorage : public IRenderResourceStorage

Subclassed by FBufferStorage

Public Functions

uint32 getCountSSBO() const = 0
uint32 getCountUBO() const = 0
uint32 getCountVBO() const = 0
uint32 getCountIBO() const = 0
FShaderBuffer *getSSBO(int32 index) const = 0
FShaderBuffer *getUBO(int32 index) const = 0
FVertexBuffer *getVBO(int32 index) const = 0
FIndexBuffer *getIBO(int32 index) const = 0
class IIndexBuffer : public IMeshBuffer

Subclassed by FIndexBuffer

Public Functions

void passIndicesCount(uint32 indicesCount) = 0
uint32 getIndicesCount() const = 0
void update(const FIndicesArray &indices) const = 0
class IMeshBuffer : public IBuffer

Subclassed by IIndexBuffer, IVertexBuffer

Public Functions

void create(int64 memoryToAllocate) = 0
class IShaderBuffer : public IBuffer

Subclassed by FShaderBuffer

Public Functions

void create() = 0
const FShaderInputDescription &getInputDescription() const = 0
void setInputDescription(const FShaderInputDescription &inputDescription) = 0
void pushVariableInfo(const FShaderInputVariableInfo &info) = 0
class IVertexBuffer : public IMeshBuffer

Subclassed by FVertexBuffer

Public Functions

const FVertexInputDescription &getInputDescription() const = 0
void setInputDescription(const FVertexInputDescription &inputDescription) = 0
void pushVariableInfo(const FVertexInputVariableInfo &info) = 0
void update(const FVertexArray &vertices) const = 0