esp::assets::GenericInstanceMeshData class

Base classes

class BaseMesh
Base class for storing mesh asset data including geometry and topology.

Derived classes

class Mp3dInstanceMeshData

Public types

struct RenderingBuffer

Public static functions

static auto fromPLY(Magnum::Trade::AbstractImporter& importer, const std::string& plyFile, bool splitMesh) -> std::vector<std::unique_ptr<GenericInstanceMeshData>>
Load a .ply file into one ore more GenericInstanceMeshData, splitting the result into multiples if specified and if the source file's objectIds are compatibly configured to do so.

Constructors, destructors, conversion operators

GenericInstanceMeshData(SupportedMeshType type) explicit
GenericInstanceMeshData() explicit
~GenericInstanceMeshData() defaulted override

Public functions

void uploadBuffersToGPU(bool forceReload = false) override
auto getRenderingBuffer() -> RenderingBuffer*
auto getMagnumGLMesh() -> Magnum::GL::Mesh* override
auto getVertexBufferObjectCPU() const -> const std::vector<vec3f>&
auto getColorBufferObjectCPU() const -> const std::vector<vec3uc>&
auto getIndexBufferObjectCPU() const -> const std::vector<uint32_t>&
auto getObjectIdsBufferObjectCPU() const -> const std::vector<uint16_t>&

Protected types

class PerObjectIdMeshBuilder

Protected functions

void updateCollisionMeshData()

Protected variables

std::unique_ptr<RenderingBuffer> renderingBuffer_
std::vector<vec3f> cpu_vbo_
std::vector<vec3uc> cpu_cbo_
std::vector<uint32_t> cpu_ibo_
std::vector<uint16_t> objectIds_

Function documentation

static std::vector<std::unique_ptr<GenericInstanceMeshData>> esp::assets::GenericInstanceMeshData::fromPLY(Magnum::Trade::AbstractImporter& importer, const std::string& plyFile, bool splitMesh)

Load a .ply file into one ore more GenericInstanceMeshData, splitting the result into multiples if specified and if the source file's objectIds are compatibly configured to do so.

Parameters
importer The importer to use to load the .ply file
plyFile Fully qualified filename of .ply file to load
splitMesh Whether or not the resultant mesh should be split into multiple components based on objectIds, for frustum culling.
Returns vector holding one or more mesh results from the .ply file.