Skip to content

Add support for GLTF KHR_texture_basisu extension  #1707

@jo-chemla

Description

@jo-chemla

Describe the bug

Following discussion #1705, here is a dedicated thread for adding support for GLTF KHR_texture_basisu extension - which can be referenced in #608?

GLTF meshes with draco + KTX2 compression (KHR_texture_basisu extension with etc1s compression) are not rendering in f3d while they render in donmccurdy gltf-viewer or viewer.needle.tools

Using the verbose flag, importing such a mesh yields the below error glTF extension KHR_texture_basisu is required in this model, but not supported by this loader. Aborting for my draco+ktx2 compressed meshes.

Found a reader for "mesh-5.0.1-mini.1.etc1s+draco.glb" : "GLTFDraco"
Loading 3D scene: mesh-mini.1.etc1s+draco.glb

ERROR: In vtkGLTFDocumentLoaderInternals.cxx, line 1339
vtkF3DGLTFDocumentLoader (00000105DDD1FC50): glTF extension KHR_texture_basisu is required in this model, but not supported by this loader. Aborting

ERROR: In vtkGLTFImporter.cxx, line 395
vtkF3DGLTFImporter (00000105D1B386D0): Error loading model metadata

ERROR: In vtkGLTFImporter.cxx, line 837
vtkF3DGLTFImporter (00000105D1B386D0): The GLTF model is nullptr, aborting.

To Reproduce
Steps to reproduce the behavior:

  1. Open a mesh file with KTX2 texture compression eg zips: AnisotropyBarnLamp.zip and StainedGlassLamp.zip which come from the KhronosGroup/glTF-Sample-Assets repo AnisotropyBarnLamp and AnisotropyBarnLamp -

  2. above error occurs and mesh does not render

Expected behavior
Visible mesh+viewport grid.

System Information:

  • OS: Windows 11
  • GPU and GPU driver: Nvidia RTX A1000
  • f3d installed via winget install f3d

F3D Information

> f3d --version 

F3D - A fast and minimalist 3D viewer
Version: 2.5.0.
Build date: 2024-07-01 21:21:53.
Build system: Windows 64-bits.
Compiler: MSVC 19.40.33811.0.
External rendering module: ON.
Raytracing module: OFF.
VTK version: 9.3.0-3457-gecf3646d64 (date: 20240620).
Copyright (C) 2019-2021 Kitware SAS.
Copyright (C) 2021-2024 Michael Migliore, Mathieu Westphal.
License BSD-3-Clause.
By Michael Migliore, Mathieu Westphal and Joachim Pouderoux.

> f3d --scan-plugins 

alembic
assimp
draco
exodus
native
occt
usd
vdb

Additional context
Original discussion here #1705

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    Status

    Investigate

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions