Michael Hitchens
Michael Hitchens
cgltf supports a variety of URI, string, and buffer functions for this purpose
For Vulkan we can use [VK_EXT_index_type_uint8](https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_index_type_uint8.html) to load these buffers 1:1. gpuinfo.org claims 62% support. For DX12, docs claim that DXGI_FORMAT_R8_UINT is "Disallowed or not available." for Input Assembler Index...
Sg I'll look at adding UINT8 support to Geometry instead
Actually I'm looking at https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_index_type_uint8.html which I believe is required for VK_INDEX_TYPE_UINT8_KHR. That's what I think I need for UINT8 support in Geometry. I don't see that it's been promoted
I like the idea of supporting the extension with this as a fallback. I'll look into how to make that happen.
I've incorporated #515 and #486 into this PR so it should be ready for review
@apazylbe I made some non-trivial changes that I'd like you to review.
@apazylbe merge conflicts are solved
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...
A curious case of this is [SimpleTexture](https://github.com/KhronosGroup/glTF-Sample-Assets/tree/main/Models/SimpleTexture); the UVs are stored as four triples: (U_1, V_1, 0), (U_2, V_2, 0), (U_3, V_3, 0), (U_4, V_4, 0). If you stride the...