class render::MeshBase

Inherits: RenderProxy

Render proxy used as a basis for all implemenations of meshes.

Public

Constructors

MeshBase

MeshBase(u32 vertexCount, u32 indexCount, const Vector<SubMesh> &subMeshes)

Methods

~MeshBase

virtual ~MeshBase() noexcept

GetVertexData

virtual SPtr<VertexData> GetVertexData() const = 0

Get vertex data used for rendering.

GetIndexBuffer

virtual SPtr<GpuBuffer> GetIndexBuffer() const = 0

Get index data used for rendering.

GetVertexOffset

virtual u32 GetVertexOffset() const

Returns an offset into the vertex buffers that is returned by getVertexData() that signifies where this meshes vertices begin.

GetIndexOffset

virtual u32 GetIndexOffset() const

Returns an offset into the index buffer that is returned by getIndexData() that signifies where this meshes indices begin.

GetVertexDescription

virtual SPtr<VertexDescription> GetVertexDescription() const = 0

Returns a structure that describes how are the vertices stored in the mesh's vertex buffer.

NotifyUsedOnGPU

virtual void NotifyUsedOnGPU()

Called whenever this mesh starts being used on the GPU.

GetProperties

const MeshProperties &GetProperties() const

Returns properties that contain information about the mesh.

Protected

Methods

SyncFromCoreObject

void SyncFromCoreObject(const CoreSyncData &data, FrameAllocator &allocator) override

Update internal data from provided memory buffer that was populated with data from the owning CoreObject.

Fields

mProperties

MeshProperties mProperties