You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There's evidence that this is partly implemented but incomplete. In GltfLoader::LoadMeshData (scene_gltf_loader.cpp):
GetFormat() can return FORMAT_UNDEFINED when indices are missing (pGltfPrimitive->indices == nullptr). There's a comment that says: "It's valid for this to be UNDEFINED, means the primitive doesn't have any index data."
There's a code path involving genTopologyIndices. This is set to true when indexFormat == grfx::FORMAT_UNDEFINED. This factors into code that populates targetGeometry.
However, there's also an independent check for IsNull() very early on when BatchInfos are being made:
// We require index data so bail if there isn't index data.if (IsNull(pGltfPrimitive->indices)) {
PPX_ASSERT_MSG(false, "GLTF mesh primitive does not have index data");
returnppx::ERROR_SCENE_INVALID_SOURCE_GEOMETRY_INDEX_DATA;
}
Additionally, none of the staging/target buffer sizing code considers the case where indexFormat == grfx::FORMAT_UNDEFINED
There's an early return with error if `IsNull(pGltfPrimitive->indices)`
so genTopology will never be `true`. This can be reverted as part of
issue google#474. Until then, it's confusing and creates a burden for
refactoring.
GltfLoader::LoadMeshData
currently complains when a mesh lacksindices
. However, meshes are allowed to not haveindices
. 5.24.2 says:This would allow BigWheels to load and render:
The text was updated successfully, but these errors were encountered: