Cogs.Core
Classes | Typedefs | Enumerations | Functions | Variables
Cogs::Core::GltfLoader Namespace Reference

Classes

struct  BufferDataView
 
struct  CachedModelMaterial
 
struct  CachedModelMesh
 
struct  GltfAccessor
 
struct  GltfAnimation
 
struct  GltfBufferView
 
struct  GltfChannel
 
struct  GltfImage
 
class  GltfLoader
 
struct  GltfModelDefinition
 
struct  GltfNode
 
struct  GltfSampler
 
struct  GltfScene
 
struct  GltfSkin
 
struct  GltfTexture
 
struct  GltfTextureSampler
 
struct  ModelMeshInstance
 
struct  TextureTransform
 
struct  VertexStream
 
struct  VertexStreamsState
 

Typedefs

typedef GenericMember< UTF8<>, RAPIDJSON_DEFAULT_ALLOCATOR > Member
 
typedef GenericArray< true, Value > Array
 
typedef GenericObject< true, Value > Object
 

Enumerations

enum struct  AccessorComponentType {
  None = 0 , Byte , UnsignedByte , Short ,
  UnsignedShort , UnsignedInt , Float , Count
}
 
enum struct  AccessorType {
  None = 0 , Scalar , Vec2 , Vec3 ,
  Vec4 , Mat2 , Mat3 , Mat4 ,
  Count
}
 

Functions

std::string getScheme (const std::string &uri)
 
void debugMessageOnce (GltfModelDefinition &loadData, const char *format,...)
 
template<size_t M>
void stridedCopy (uint8_t *dst, size_t dstStride, const uint8_t *src, size_t srcStride, size_t count)
 
bool checkIsUint (const GltfModelDefinition &loadData, const char *name, const Value &value)
 
bool checkIsUint (const GltfModelDefinition &loadData, const Member &member)
 
bool getUint (const GltfModelDefinition &loadData, uint32_t &result, const Member &member)
 
bool checkIsBool (const GltfModelDefinition &loadData, const char *name, const Value &value)
 
bool checkIsBool (const GltfModelDefinition &loadData, const Member &member)
 
bool getBool (const GltfModelDefinition &loadData, bool &result, const Member &member)
 
bool checkIsString (const GltfModelDefinition &loadData, const char *name, const Value &value)
 
bool checkIsString (const GltfModelDefinition &loadData, const Member &member)
 
bool checkIsObject (const GltfModelDefinition &loadData, const char *name, const Value &value)
 
bool checkIsObject (const GltfModelDefinition &loadData, const Member &member)
 
bool checkIsArray (const GltfModelDefinition &loadData, const Member &member)
 
template<typename Vec >
bool tryGetVecN (Vec &result, const GltfModelDefinition &loadData, const char *key, const Object &parent)
 
bool tryGetBool (bool &result, const GltfModelDefinition &loadData, const char *key, const Object &parent)
 
bool tryGetString (Cogs::StringView &result, const GltfModelDefinition &loadData, const char *key, const Object &parent)
 
bool tryGetFloat (float &result, const GltfModelDefinition &loadData, const char *key, const Object &parent)
 
bool tryGetUint (uint32_t &result, const GltfModelDefinition &loadData, const char *key, const Object &parent)
 
bool getString (std::string &result, const Cogs::StringView &path, const Member &member)
 
bool parseAsset (GltfModelDefinition &loadData, const Cogs::StringView &path, const Value &assetValue)
 
bool parseBuffers (Context *context, GltfModelDefinition &loadData, const Cogs::StringView &path, const Value &buffersValue, std::span< const uint8_t > &glbData)
 
bool parseBufferViews (GltfModelDefinition &loadData, const Cogs::StringView &path, const Value &bufferViewsValue, MeshoptDecompressor &meshoptDecomp)
 
void decodeImageData (Context *context, GltfImage &gltfImage, const Cogs::StringView &path, const Cogs::StringView &mimeType, const void *data, const size_t size)
 
void decodeImageData (Context *context, GltfImage &gltfImage, const Cogs::StringView &path, const Cogs::StringView &mimeType, const void *data, const size_t size, Cogs::Core::TextureLoadFlags loadFlags)
 
bool parseImages (Context *context, GltfModelDefinition &loadData, const Value &imagesValue)
 
TextureHandle getTextureHandle (GltfModelDefinition &loadData, const size_t imageIndex, const bool linearColor, const bool mipmapped)
 
bool parseSamplers (GltfModelDefinition &loadData, const Cogs::StringView &path, const Value &samplersValue)
 
bool parseTextures (GltfModelDefinition &loadData, const Cogs::StringView &path, const Value &texturesValue)
 
bool tryHandleTextureInfo (MaterialHandle material, MaterialInstanceHandle instance, GltfModelDefinition &loadData, CachedModelMaterial &cachedModelMaterial, const char *key, const Object &parent, const char *textureName, bool linearColor, bool *success, const char *extraKey=nullptr, float *extraValue=nullptr)
 
bool handleMaterialPbrMetallicRoughness (GltfModelDefinition &loadData, CachedModelMaterial &cachedMaterial, MaterialHandle material, MaterialInstanceHandle instance, const Object &materialObject)
 
bool handleMaterialGenericFields (GltfModelDefinition &loadData, CachedModelMaterial &cachedMaterial, MaterialHandle material, MaterialInstanceHandle instance, const Object &materialObject)
 
bool handleMaterialPbrSpecularGlossiness (GltfModelDefinition &loadData, CachedModelMaterial &cachedMaterial, MaterialHandle material, MaterialInstanceHandle instance, const Object &specGlossObject)
 
bool handleMaterialSpecular (GltfModelDefinition &loadData, CachedModelMaterial &cachedMaterial, MaterialHandle material, MaterialInstanceHandle instance, const Object &specularObject)
 
bool handleMaterialIdxOfRefraction (GltfModelDefinition &loadData, CachedModelMaterial &, MaterialHandle material, MaterialInstanceHandle instance, const Object &iorObject)
 
bool handleMaterialExtensions (GltfModelDefinition &loadData, CachedModelMaterial &cachedMaterial, MaterialHandle material, MaterialInstanceHandle instance, const Object &materialObject)
 
bool getMaterialHandle (GltfModelDefinition &loadData, Model &model, CachedModelMaterial *&cachedMaterial_, const int32_t gltfMaterialIx, const bool isSkinned, const bool albedoPerVertex, const bool hasBitangents)
 
bool parseScenes (GltfModelDefinition &loadData, const Cogs::StringView &path, const Value &scenesValue)
 
bool parseNodes (GltfModelDefinition &loadData, const Cogs::StringView &path, const Value &nodesValue)
 
void parseAccessorMinArray (GltfAccessor &accessor, Array arr)
 
void parseAccessorMaxArray (GltfAccessor &accessor, Array arr)
 
bool parseAccessors (GltfModelDefinition &loadData, const Cogs::StringView &path, const Value &accessorsValue)
 
bool parseSkins (GltfModelDefinition &loadData, const Cogs::StringView &path, const Value &skinsValue)
 
bool parseAnimations (GltfModelDefinition &loadData, const Cogs::StringView &path, const Value &animationsValue)
 
uint32_t getAccessorTypeSize (const GltfAccessor &accessor)
 
bool getBufferViewData (const GltfModelDefinition &loadData, BufferDataView &dataView, const GltfAccessor &accessor)
 
bool loadBone (GltfModelDefinition &definition, GltfNode &node, Skeleton &skeleton, size_t parent_bone, const glm::mat4 &parent_transform)
 
bool loadJoints (GltfModelDefinition &definition, GltfNode &node, Skeleton &skeleton, MeshoptDecompressor &meshoptDecomp)
 
bool getVertexElement (GltfModelDefinition &loadData, VertexStreamsState &streamsState, VertexStream &vertexStream, const Cogs::StringView &key, const uint32_t accessorIx)
 
bool getVertexAttributes (GltfModelDefinition &loadData, VertexStreamsState &streamsState, std::vector< VertexStream > &vertexStreams, const Object &attributeObject, MeshoptDecompressor &meshoptDecomp)
 
bool generateVertexTangents (GltfModelDefinition &loadData, VertexStreamsState &streamsState, std::vector< VertexStream > &vertexStreams, Cogs::PrimitiveType::EPrimitiveType primitiveType, bool clockwise)
 
bool generateVertexNormals (GltfModelDefinition &loadData, VertexStreamsState &streamsState, std::vector< VertexStream > &vertexStreams, Cogs::PrimitiveType::EPrimitiveType primitiveType, bool clockwise)
 
bool setMeshIndices (GltfModelDefinition &loadData, MeshManager::ResourceProxy &mesh, VertexStreamsState &streamsState)
 
bool setVertexAttributes (GltfModelDefinition &loadData, MeshManager::ResourceProxy &mesh, const VertexStreamsState &streamsState, std::vector< VertexStream > &vertexStreams)
 
bool buildPrimitiveMesh (GltfModelDefinition &loadData, ModelMeshInstance &modelMeshInstance, Model &model, const Object &primitiveObject, int32_t skinIx, bool clockwise, MeshoptDecompressor &meshoptDecomp)
 
bool buildMeshes (GltfModelDefinition &loadData, std::vector< ModelMeshInstance > &modelMeshInstances, Model &model, int32_t skinIx, int32_t gltfMeshIx, bool clockwise, MeshoptDecompressor &meshoptDecomp)
 
bool loadNode (Context *context, GltfModelDefinition &definition, GltfNode &node, Model &model, uint32_t parent_part, const glm::mat4 &parent_transform, MeshoptDecompressor &meshoptDecomp)
 
bool loadAnimation (Context *context, GltfModelDefinition &definition, Model &model, MeshoptDecompressor &meshoptDecomp)
 
constexpr size_t hash (const VertexStream &stream, size_t hashValue=Cogs::hash())
 
template<typename T >
BufferDataView convertVecBufferToFloats (const BufferDataView &srcBuf, AccessorComponentType srcType, Memory::MemoryBuffer *workspace, bool normalize=false)
 

Variables

Cogs::Logging::Log logger = Cogs::Logging::getLogger("GltfLoader")
 
constexpr int GLTF_BYTE = 5120
 
constexpr int GLTF_UNSIGNED_BYTE = 5121
 
constexpr int GLTF_SHORT = 5122
 
constexpr int GLTF_UNSIGNED_SHORT = 5123
 
constexpr int GLTF_UNSIGNED_INT = 5125
 
constexpr int GLTF_FLOAT = 5126
 
constexpr unsigned GLTF_NEAREST = 9728
 
constexpr unsigned GLTF_LINEAR = 9729
 
constexpr unsigned GLTF_NEAREST_MIPMAP_NEAREST = 9984
 
constexpr unsigned GLTF_LINEAR_MIPMAP_NEAREST = 9985
 
constexpr unsigned GLTF_NEAREST_MIPMAP_LINEAR = 9986
 
constexpr unsigned GLTF_LINEAR_MIPMAP_LINEAR = 9987
 
constexpr unsigned GLTF_CLAMP_TO_EDGE = 33071
 
constexpr unsigned GLTF_MIRRORED_REPEAT = 33648
 
constexpr unsigned GLTF_REPEAT = 10497
 

Detailed Description

glTF loader

Nice Links: https://gltf.report/ A glTF Viewer and inspector, but also an exporter. The "settings" menu in the upper right corner has an export section where one can select compression algorithm.

https://gltf-viewer.donmccurdy.com/ A glTF viewer and validator. By opening the console one can inspect the content of the "VIEWER.scene.children" object. This is useful when inspecting the internal data of the loaded scene.

https://github.com/KhronosGroup/glTF-Sample-Models The official repo of testmodels.

Typedef Documentation

◆ Array

typedef GenericArray<true, Value> Cogs::Core::GltfLoader::Array

Definition at line 42 of file GltfLoader.h.

◆ Member

typedef GenericMember<UTF8<>, RAPIDJSON_DEFAULT_ALLOCATOR> Cogs::Core::GltfLoader::Member

Definition at line 41 of file GltfLoader.h.

◆ Object

typedef GenericObject<true, Value> Cogs::Core::GltfLoader::Object

Definition at line 43 of file GltfLoader.h.

Enumeration Type Documentation

◆ AccessorComponentType

enum struct Cogs::Core::GltfLoader::AccessorComponentType
strong

Definition at line 66 of file GltfLoader.h.

◆ AccessorType

enum struct Cogs::Core::GltfLoader::AccessorType
strong

Definition at line 100 of file GltfLoader.h.

Function Documentation

◆ buildMeshes()

bool Cogs::Core::GltfLoader::buildMeshes ( GltfModelDefinition loadData,
std::vector< ModelMeshInstance > &  modelMeshInstances,
Model model,
int32_t  skinIx,
int32_t  gltfMeshIx,
bool  clockwise,
MeshoptDecompressor meshoptDecomp 
)

Definition at line 2664 of file GltfLoader.cpp.

◆ buildPrimitiveMesh()

bool Cogs::Core::GltfLoader::buildPrimitiveMesh ( GltfModelDefinition loadData,
ModelMeshInstance modelMeshInstance,
Model model,
const Object &  primitiveObject,
int32_t  skinIx,
bool  clockwise,
MeshoptDecompressor meshoptDecomp 
)

Definition at line 2371 of file GltfLoader.cpp.

◆ checkIsArray()

bool Cogs::Core::GltfLoader::checkIsArray ( const GltfModelDefinition loadData,
const Member &  member 
)

Definition at line 173 of file GltfLoader.cpp.

◆ checkIsBool() [1/2]

bool Cogs::Core::GltfLoader::checkIsBool ( const GltfModelDefinition loadData,
const char *  name,
const Value &  value 
)

Definition at line 124 of file GltfLoader.cpp.

◆ checkIsBool() [2/2]

bool Cogs::Core::GltfLoader::checkIsBool ( const GltfModelDefinition loadData,
const Member &  member 
)

Definition at line 133 of file GltfLoader.cpp.

◆ checkIsObject() [1/2]

bool Cogs::Core::GltfLoader::checkIsObject ( const GltfModelDefinition loadData,
const char *  name,
const Value &  value 
)

Definition at line 159 of file GltfLoader.cpp.

◆ checkIsObject() [2/2]

bool Cogs::Core::GltfLoader::checkIsObject ( const GltfModelDefinition loadData,
const Member &  member 
)

Definition at line 168 of file GltfLoader.cpp.

◆ checkIsString() [1/2]

bool Cogs::Core::GltfLoader::checkIsString ( const GltfModelDefinition loadData,
const char *  name,
const Value &  value 
)

Definition at line 145 of file GltfLoader.cpp.

◆ checkIsString() [2/2]

bool Cogs::Core::GltfLoader::checkIsString ( const GltfModelDefinition loadData,
const Member &  member 
)

Definition at line 154 of file GltfLoader.cpp.

◆ checkIsUint() [1/2]

bool Cogs::Core::GltfLoader::checkIsUint ( const GltfModelDefinition loadData,
const char *  name,
const Value &  value 
)

Definition at line 101 of file GltfLoader.cpp.

◆ checkIsUint() [2/2]

bool Cogs::Core::GltfLoader::checkIsUint ( const GltfModelDefinition loadData,
const Member &  member 
)

Definition at line 110 of file GltfLoader.cpp.

◆ convertVecBufferToFloats()

template<typename T >
BufferDataView Cogs::Core::GltfLoader::convertVecBufferToFloats ( const BufferDataView srcBuf,
AccessorComponentType  srcType,
Memory::MemoryBuffer workspace,
bool  normalize = false 
)

Definition at line 385 of file GltfLoader.h.

◆ debugMessageOnce()

void Cogs::Core::GltfLoader::debugMessageOnce ( GltfModelDefinition loadData,
const char *  format,
  ... 
)

Definition at line 78 of file GltfLoader.cpp.

◆ decodeImageData() [1/2]

void Cogs::Core::GltfLoader::decodeImageData ( Context context,
GltfImage gltfImage,
const Cogs::StringView path,
const Cogs::StringView mimeType,
const void *  data,
const size_t  size 
)

Definition at line 491 of file GltfLoader.cpp.

◆ decodeImageData() [2/2]

void Cogs::Core::GltfLoader::decodeImageData ( Context context,
GltfImage gltfImage,
const Cogs::StringView path,
const Cogs::StringView mimeType,
const void *  data,
const size_t  size,
Cogs::Core::TextureLoadFlags  loadFlags 
)

Definition at line 527 of file GltfLoader.cpp.

◆ generateVertexNormals()

bool Cogs::Core::GltfLoader::generateVertexNormals ( GltfModelDefinition loadData,
VertexStreamsState streamsState,
std::vector< VertexStream > &  vertexStreams,
Cogs::PrimitiveType::EPrimitiveType  primitiveType,
bool  clockwise 
)

Definition at line 2183 of file GltfLoader.cpp.

◆ generateVertexTangents()

bool Cogs::Core::GltfLoader::generateVertexTangents ( GltfModelDefinition loadData,
VertexStreamsState streamsState,
std::vector< VertexStream > &  vertexStreams,
Cogs::PrimitiveType::EPrimitiveType  primitiveType,
bool  clockwise 
)

Definition at line 2105 of file GltfLoader.cpp.

◆ getAccessorTypeSize()

uint32_t Cogs::Core::GltfLoader::getAccessorTypeSize ( const GltfAccessor accessor)

Definition at line 1718 of file GltfLoader.cpp.

◆ getBool()

bool Cogs::Core::GltfLoader::getBool ( const GltfModelDefinition loadData,
bool &  result,
const Member &  member 
)

Definition at line 138 of file GltfLoader.cpp.

◆ getBufferViewData()

bool Cogs::Core::GltfLoader::getBufferViewData ( const GltfModelDefinition loadData,
BufferDataView dataView,
const GltfAccessor accessor 
)

Definition at line 1725 of file GltfLoader.cpp.

◆ getMaterialHandle()

bool Cogs::Core::GltfLoader::getMaterialHandle ( GltfModelDefinition loadData,
Model model,
CachedModelMaterial *&  cachedMaterial_,
const int32_t  gltfMaterialIx,
const bool  isSkinned,
const bool  albedoPerVertex,
const bool  hasBitangents 
)

Definition at line 1117 of file GltfLoader.cpp.

◆ getScheme()

std::string Cogs::Core::GltfLoader::getScheme ( const std::string &  uri)

Definition at line 56 of file GltfLoader.cpp.

◆ getString()

bool Cogs::Core::GltfLoader::getString ( std::string &  result,
const Cogs::StringView path,
const Member &  member 
)

Definition at line 256 of file GltfLoader.cpp.

◆ getTextureHandle()

TextureHandle Cogs::Core::GltfLoader::getTextureHandle ( GltfModelDefinition loadData,
const size_t  imageIndex,
const bool  linearColor,
const bool  mipmapped 
)

Definition at line 639 of file GltfLoader.cpp.

◆ getUint()

bool Cogs::Core::GltfLoader::getUint ( const GltfModelDefinition loadData,
uint32_t &  result,
const Member &  member 
)

Definition at line 115 of file GltfLoader.cpp.

◆ getVertexAttributes()

bool Cogs::Core::GltfLoader::getVertexAttributes ( GltfModelDefinition loadData,
VertexStreamsState streamsState,
std::vector< VertexStream > &  vertexStreams,
const Object &  attributeObject,
MeshoptDecompressor meshoptDecomp 
)

Definition at line 2069 of file GltfLoader.cpp.

◆ getVertexElement()

bool Cogs::Core::GltfLoader::getVertexElement ( GltfModelDefinition loadData,
VertexStreamsState streamsState,
VertexStream vertexStream,
const Cogs::StringView key,
const uint32_t  accessorIx 
)

Definition at line 1840 of file GltfLoader.cpp.

◆ handleMaterialExtensions()

bool Cogs::Core::GltfLoader::handleMaterialExtensions ( GltfModelDefinition loadData,
CachedModelMaterial cachedMaterial,
MaterialHandle  material,
MaterialInstanceHandle  instance,
const Object &  materialObject 
)

Definition at line 1071 of file GltfLoader.cpp.

◆ handleMaterialGenericFields()

bool Cogs::Core::GltfLoader::handleMaterialGenericFields ( GltfModelDefinition loadData,
CachedModelMaterial cachedMaterial,
MaterialHandle  material,
MaterialInstanceHandle  instance,
const Object &  materialObject 
)

Definition at line 971 of file GltfLoader.cpp.

◆ handleMaterialIdxOfRefraction()

bool Cogs::Core::GltfLoader::handleMaterialIdxOfRefraction ( GltfModelDefinition loadData,
CachedModelMaterial ,
MaterialHandle  material,
MaterialInstanceHandle  instance,
const Object &  iorObject 
)

Definition at line 1061 of file GltfLoader.cpp.

◆ handleMaterialPbrMetallicRoughness()

bool Cogs::Core::GltfLoader::handleMaterialPbrMetallicRoughness ( GltfModelDefinition loadData,
CachedModelMaterial cachedMaterial,
MaterialHandle  material,
MaterialInstanceHandle  instance,
const Object &  materialObject 
)

Definition at line 941 of file GltfLoader.cpp.

◆ handleMaterialPbrSpecularGlossiness()

bool Cogs::Core::GltfLoader::handleMaterialPbrSpecularGlossiness ( GltfModelDefinition loadData,
CachedModelMaterial cachedMaterial,
MaterialHandle  material,
MaterialInstanceHandle  instance,
const Object &  specGlossObject 
)

Definition at line 1020 of file GltfLoader.cpp.

◆ handleMaterialSpecular()

bool Cogs::Core::GltfLoader::handleMaterialSpecular ( GltfModelDefinition loadData,
CachedModelMaterial cachedMaterial,
MaterialHandle  material,
MaterialInstanceHandle  instance,
const Object &  specularObject 
)

Definition at line 1044 of file GltfLoader.cpp.

◆ hash()

constexpr size_t Cogs::Core::GltfLoader::hash ( const VertexStream stream,
size_t  hashValue = Cogs::hash() 
)
constexpr

Definition at line 359 of file GltfLoader.h.

◆ loadAnimation()

bool Cogs::Core::GltfLoader::loadAnimation ( Context context,
GltfModelDefinition definition,
Model model,
MeshoptDecompressor meshoptDecomp 
)

Definition at line 2752 of file GltfLoader.cpp.

◆ loadBone()

bool Cogs::Core::GltfLoader::loadBone ( GltfModelDefinition definition,
GltfNode node,
Skeleton skeleton,
size_t  parent_bone,
const glm::mat4 &  parent_transform 
)

Definition at line 1757 of file GltfLoader.cpp.

◆ loadJoints()

bool Cogs::Core::GltfLoader::loadJoints ( GltfModelDefinition definition,
GltfNode node,
Skeleton skeleton,
MeshoptDecompressor meshoptDecomp 
)

Definition at line 1793 of file GltfLoader.cpp.

◆ loadNode()

bool Cogs::Core::GltfLoader::loadNode ( Context context,
GltfModelDefinition definition,
GltfNode node,
Model model,
uint32_t  parent_part,
const glm::mat4 &  parent_transform,
MeshoptDecompressor meshoptDecomp 
)

Definition at line 2696 of file GltfLoader.cpp.

◆ parseAccessorMaxArray()

void Cogs::Core::GltfLoader::parseAccessorMaxArray ( GltfAccessor accessor,
Array  arr 
)

Definition at line 1500 of file GltfLoader.cpp.

◆ parseAccessorMinArray()

void Cogs::Core::GltfLoader::parseAccessorMinArray ( GltfAccessor accessor,
Array  arr 
)

Definition at line 1462 of file GltfLoader.cpp.

◆ parseAccessors()

bool Cogs::Core::GltfLoader::parseAccessors ( GltfModelDefinition loadData,
const Cogs::StringView path,
const Value &  accessorsValue 
)

Definition at line 1537 of file GltfLoader.cpp.

◆ parseAnimations()

bool Cogs::Core::GltfLoader::parseAnimations ( GltfModelDefinition loadData,
const Cogs::StringView path,
const Value &  animationsValue 
)

Definition at line 1655 of file GltfLoader.cpp.

◆ parseAsset()

bool Cogs::Core::GltfLoader::parseAsset ( GltfModelDefinition loadData,
const Cogs::StringView path,
const Value &  assetValue 
)

Definition at line 277 of file GltfLoader.cpp.

◆ parseBuffers()

bool Cogs::Core::GltfLoader::parseBuffers ( Context context,
GltfModelDefinition loadData,
const Cogs::StringView path,
const Value &  buffersValue,
std::span< const uint8_t > &  glbData 
)

Definition at line 331 of file GltfLoader.cpp.

◆ parseBufferViews()

bool Cogs::Core::GltfLoader::parseBufferViews ( GltfModelDefinition loadData,
const Cogs::StringView path,
const Value &  bufferViewsValue,
MeshoptDecompressor meshoptDecomp 
)

Definition at line 416 of file GltfLoader.cpp.

◆ parseImages()

bool Cogs::Core::GltfLoader::parseImages ( Context context,
GltfModelDefinition loadData,
const Value &  imagesValue 
)

Definition at line 561 of file GltfLoader.cpp.

◆ parseNodes()

bool Cogs::Core::GltfLoader::parseNodes ( GltfModelDefinition loadData,
const Cogs::StringView path,
const Value &  nodesValue 
)

Definition at line 1321 of file GltfLoader.cpp.

◆ parseSamplers()

bool Cogs::Core::GltfLoader::parseSamplers ( GltfModelDefinition loadData,
const Cogs::StringView path,
const Value &  samplersValue 
)

Definition at line 682 of file GltfLoader.cpp.

◆ parseScenes()

bool Cogs::Core::GltfLoader::parseScenes ( GltfModelDefinition loadData,
const Cogs::StringView path,
const Value &  scenesValue 
)

Definition at line 1252 of file GltfLoader.cpp.

◆ parseSkins()

bool Cogs::Core::GltfLoader::parseSkins ( GltfModelDefinition loadData,
const Cogs::StringView path,
const Value &  skinsValue 
)

Definition at line 1628 of file GltfLoader.cpp.

◆ parseTextures()

bool Cogs::Core::GltfLoader::parseTextures ( GltfModelDefinition loadData,
const Cogs::StringView path,
const Value &  texturesValue 
)

Definition at line 770 of file GltfLoader.cpp.

◆ setMeshIndices()

bool Cogs::Core::GltfLoader::setMeshIndices ( GltfModelDefinition loadData,
MeshManager::ResourceProxy mesh,
VertexStreamsState streamsState 
)

Definition at line 2245 of file GltfLoader.cpp.

◆ setVertexAttributes()

bool Cogs::Core::GltfLoader::setVertexAttributes ( GltfModelDefinition loadData,
MeshManager::ResourceProxy mesh,
const VertexStreamsState streamsState,
std::vector< VertexStream > &  vertexStreams 
)

Definition at line 2273 of file GltfLoader.cpp.

◆ stridedCopy()

template<size_t M>
void Cogs::Core::GltfLoader::stridedCopy ( uint8_t *  dst,
size_t  dstStride,
const uint8_t *  src,
size_t  srcStride,
size_t  count 
)

Definition at line 92 of file GltfLoader.cpp.

◆ tryGetBool()

bool Cogs::Core::GltfLoader::tryGetBool ( bool &  result,
const GltfModelDefinition loadData,
const char *  key,
const Object &  parent 
)

Definition at line 208 of file GltfLoader.cpp.

◆ tryGetFloat()

bool Cogs::Core::GltfLoader::tryGetFloat ( float &  result,
const GltfModelDefinition loadData,
const char *  key,
const Object &  parent 
)

Definition at line 232 of file GltfLoader.cpp.

◆ tryGetString()

bool Cogs::Core::GltfLoader::tryGetString ( Cogs::StringView result,
const GltfModelDefinition loadData,
const char *  key,
const Object &  parent 
)

Definition at line 220 of file GltfLoader.cpp.

◆ tryGetUint()

bool Cogs::Core::GltfLoader::tryGetUint ( uint32_t &  result,
const GltfModelDefinition loadData,
const char *  key,
const Object &  parent 
)

Definition at line 244 of file GltfLoader.cpp.

◆ tryGetVecN()

template<typename Vec >
bool Cogs::Core::GltfLoader::tryGetVecN ( Vec &  result,
const GltfModelDefinition loadData,
const char *  key,
const Object &  parent 
)

Definition at line 183 of file GltfLoader.cpp.

◆ tryHandleTextureInfo()

bool Cogs::Core::GltfLoader::tryHandleTextureInfo ( MaterialHandle  material,
MaterialInstanceHandle  instance,
GltfModelDefinition loadData,
CachedModelMaterial cachedModelMaterial,
const char *  key,
const Object &  parent,
const char *  textureName,
bool  linearColor,
bool *  success,
const char *  extraKey = nullptr,
float *  extraValue = nullptr 
)

Definition at line 812 of file GltfLoader.cpp.

Variable Documentation

◆ GLTF_BYTE

constexpr int Cogs::Core::GltfLoader::GLTF_BYTE = 5120
constexpr

Definition at line 45 of file GltfLoader.h.

◆ GLTF_CLAMP_TO_EDGE

constexpr unsigned Cogs::Core::GltfLoader::GLTF_CLAMP_TO_EDGE = 33071
constexpr

Definition at line 62 of file GltfLoader.h.

◆ GLTF_FLOAT

constexpr int Cogs::Core::GltfLoader::GLTF_FLOAT = 5126
constexpr

Definition at line 50 of file GltfLoader.h.

◆ GLTF_LINEAR

constexpr unsigned Cogs::Core::GltfLoader::GLTF_LINEAR = 9729
constexpr

Definition at line 53 of file GltfLoader.h.

◆ GLTF_LINEAR_MIPMAP_LINEAR

constexpr unsigned Cogs::Core::GltfLoader::GLTF_LINEAR_MIPMAP_LINEAR = 9987
constexpr

Definition at line 57 of file GltfLoader.h.

◆ GLTF_LINEAR_MIPMAP_NEAREST

constexpr unsigned Cogs::Core::GltfLoader::GLTF_LINEAR_MIPMAP_NEAREST = 9985
constexpr

Definition at line 55 of file GltfLoader.h.

◆ GLTF_MIRRORED_REPEAT

constexpr unsigned Cogs::Core::GltfLoader::GLTF_MIRRORED_REPEAT = 33648
constexpr

Definition at line 63 of file GltfLoader.h.

◆ GLTF_NEAREST

constexpr unsigned Cogs::Core::GltfLoader::GLTF_NEAREST = 9728
constexpr

Definition at line 52 of file GltfLoader.h.

◆ GLTF_NEAREST_MIPMAP_LINEAR

constexpr unsigned Cogs::Core::GltfLoader::GLTF_NEAREST_MIPMAP_LINEAR = 9986
constexpr

Definition at line 56 of file GltfLoader.h.

◆ GLTF_NEAREST_MIPMAP_NEAREST

constexpr unsigned Cogs::Core::GltfLoader::GLTF_NEAREST_MIPMAP_NEAREST = 9984
constexpr

Definition at line 54 of file GltfLoader.h.

◆ GLTF_REPEAT

constexpr unsigned Cogs::Core::GltfLoader::GLTF_REPEAT = 10497
constexpr

Definition at line 64 of file GltfLoader.h.

◆ GLTF_SHORT

constexpr int Cogs::Core::GltfLoader::GLTF_SHORT = 5122
constexpr

Definition at line 47 of file GltfLoader.h.

◆ GLTF_UNSIGNED_BYTE

constexpr int Cogs::Core::GltfLoader::GLTF_UNSIGNED_BYTE = 5121
constexpr

Definition at line 46 of file GltfLoader.h.

◆ GLTF_UNSIGNED_INT

constexpr int Cogs::Core::GltfLoader::GLTF_UNSIGNED_INT = 5125
constexpr

Definition at line 49 of file GltfLoader.h.

◆ GLTF_UNSIGNED_SHORT

constexpr int Cogs::Core::GltfLoader::GLTF_UNSIGNED_SHORT = 5123
constexpr

Definition at line 48 of file GltfLoader.h.

◆ logger

Cogs::Logging::Log Cogs::Core::GltfLoader::logger = Cogs::Logging::getLogger("GltfLoader")

Definition at line 53 of file GltfLoader.cpp.