Cogs.Core
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Cogs::Core::DracoMeshDecompressor Class Reference

Public Member Functions

void initAttributes (const GltfLoader::Object &properties)
 
bool decompress (GltfLoader::GltfModelDefinition &loadData, GltfLoader::VertexStreamsState &streamsState, std::vector< GltfLoader::VertexStream > &vertexStreams, const GltfLoader::Object &attributeObject, bool skipNormals)
 

Private Member Functions

void processVertexColors (draco::Mesh *dmesh, std::vector< Cogs::Core::GltfLoader::VertexStream > &vertexStreams, GltfLoader::VertexStreamsState &streamsState)
 
void processTextureCoords (draco::Mesh *dmesh, std::vector< Cogs::Core::GltfLoader::VertexStream > &vertexStreams, GltfLoader::VertexStreamsState &streamsState)
 
void processNormals (draco::Mesh *dmesh, std::vector< Cogs::Core::GltfLoader::VertexStream > &vertexStreams, Cogs::Core::GltfLoader::VertexStreamsState &streamsState)
 
void processTangents (draco::Mesh *dmesh, std::vector< Cogs::Core::GltfLoader::VertexStream > &vertexStreams, Cogs::Core::GltfLoader::VertexStreamsState &streamsState)
 
template<typename T >
void getAttributeData (const draco::Mesh *dmesh, const draco::PointAttribute *attr, GltfLoader::VertexStream &targetVertexStream)
 

Private Attributes

int bufferViewIdx = -1
 
int attrPositionIdx = -1
 
int attrNormalIdx = -1
 
int attrTangentIdx = -1
 
std::vector< int > attrTexCoordIndices
 
std::vector< int > attrColorIndices
 
Memory::MemoryBuffer decompressedIndices
 
std::vector< Memory::MemoryBufferdecompressedAttributes
 

Detailed Description

Definition at line 26 of file DracoMeshDecompressor.h.

Member Function Documentation

◆ decompress()

bool DracoMeshDecompressor::decompress ( GltfLoader::GltfModelDefinition loadData,
GltfLoader::VertexStreamsState streamsState,
std::vector< GltfLoader::VertexStream > &  vertexStreams,
const GltfLoader::Object &  attributeObject,
bool  skipNormals 
)

Definition at line 106 of file DracoMeshDecompressor.cpp.

◆ getAttributeData()

template<typename T >
void Cogs::Core::DracoMeshDecompressor::getAttributeData ( const draco::Mesh *  dmesh,
const draco::PointAttribute *  attr,
GltfLoader::VertexStream targetVertexStream 
)
inlineprivate

Definition at line 42 of file DracoMeshDecompressor.h.

◆ initAttributes()

void DracoMeshDecompressor::initAttributes ( const GltfLoader::Object &  properties)

Definition at line 37 of file DracoMeshDecompressor.cpp.

◆ processNormals()

void DracoMeshDecompressor::processNormals ( draco::Mesh *  dmesh,
std::vector< Cogs::Core::GltfLoader::VertexStream > &  vertexStreams,
Cogs::Core::GltfLoader::VertexStreamsState streamsState 
)
private

Definition at line 362 of file DracoMeshDecompressor.cpp.

◆ processTangents()

void DracoMeshDecompressor::processTangents ( draco::Mesh *  dmesh,
std::vector< Cogs::Core::GltfLoader::VertexStream > &  vertexStreams,
Cogs::Core::GltfLoader::VertexStreamsState streamsState 
)
private

Definition at line 396 of file DracoMeshDecompressor.cpp.

◆ processTextureCoords()

void DracoMeshDecompressor::processTextureCoords ( draco::Mesh *  dmesh,
std::vector< Cogs::Core::GltfLoader::VertexStream > &  vertexStreams,
GltfLoader::VertexStreamsState streamsState 
)
private

Definition at line 325 of file DracoMeshDecompressor.cpp.

◆ processVertexColors()

void DracoMeshDecompressor::processVertexColors ( draco::Mesh *  dmesh,
std::vector< Cogs::Core::GltfLoader::VertexStream > &  vertexStreams,
GltfLoader::VertexStreamsState streamsState 
)
private

Definition at line 282 of file DracoMeshDecompressor.cpp.

Member Data Documentation

◆ attrColorIndices

std::vector<int> Cogs::Core::DracoMeshDecompressor::attrColorIndices
private

Definition at line 80 of file DracoMeshDecompressor.h.

◆ attrNormalIdx

int Cogs::Core::DracoMeshDecompressor::attrNormalIdx = -1
private

Definition at line 77 of file DracoMeshDecompressor.h.

◆ attrPositionIdx

int Cogs::Core::DracoMeshDecompressor::attrPositionIdx = -1
private

Definition at line 76 of file DracoMeshDecompressor.h.

◆ attrTangentIdx

int Cogs::Core::DracoMeshDecompressor::attrTangentIdx = -1
private

Definition at line 78 of file DracoMeshDecompressor.h.

◆ attrTexCoordIndices

std::vector<int> Cogs::Core::DracoMeshDecompressor::attrTexCoordIndices
private

Definition at line 79 of file DracoMeshDecompressor.h.

◆ bufferViewIdx

int Cogs::Core::DracoMeshDecompressor::bufferViewIdx = -1
private

Definition at line 75 of file DracoMeshDecompressor.h.

◆ decompressedAttributes

std::vector<Memory::MemoryBuffer> Cogs::Core::DracoMeshDecompressor::decompressedAttributes
private

Definition at line 85 of file DracoMeshDecompressor.h.

◆ decompressedIndices

Memory::MemoryBuffer Cogs::Core::DracoMeshDecompressor::decompressedIndices
private

Definition at line 84 of file DracoMeshDecompressor.h.


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