Tooling / software?

I’ve been trying to find open source software for working with Khronos formats like gltf, or ktx, but it seems like nothing really does. An old post mentions blender and a couple paid programs for glft, but afaict blender import/export is bare bones and not customizable. I saw a github issue where it seemed like the suggestion was to customize the python yourself. I also saw VulkanSceneGraph but it seems like a library first and the ‘application’ part of the roadmap is still tbd.

Similar story with ktx, even online viewers I’ve found don’t properly read ktx files from Sascha Willems examples.

Is there something I missed or is there no tooling to actually use the open formats easily?

There is a lot of tooling around glTF v2 these days, including Blender, Adobe Substance, Adobe Dimension, 3ds Max, and lots of online viewers. I would guess that it’s one of the more popular import/export formats in Blender today:

https://docs.blender.org/manual/en/latest/addons/import_export/scene_gltf2.html

What features or customization are you looking for? It’s generally true that if you want to export something that either Blender or glTF don’t offer as features, you may need to write code and extend the Blender addon and/or your viewing application for your own purposes.

About KTX, yes, the tooling is low-level and targeted for developers, and not intended to replace formats like PNG/JPEG. KTX is a very useful format, but making it easy to use without coding or CLI tools hasn’t happened. I usually work with KTX-Software’s CLI tools and the Basis Universal compression codecs, decoding to PNG or OpenEXR if I need to check the file contents.

The only thing I seem to find is import/export. Keeping objects separate or editing a “scene” seems to be not to focus, I guess there’s emphasis on “transmission” in the format. I even found a github issue to remove “scene” entirely, although some people say they use it for LOD. I did just find glxf which may do something like that, but one repo readme says it’s old and the spec files say it’s a reference. Looks new.

I guess for something like a game the tooling is DIY, whether that’s plugins or separate programs. Gathering assets, create some type of scene format, cross reference and check asset reuse.

It looks like a lot of use cases are just a single big model of something and not separate pieces coming together.

I believe the large majority of developers using glTF do not consider the “scene” in the glTF file to represent a “scene” in their final application. Each .glb model might be an individual asset like a tree, or a collection of assets intended to be used independently.

I will guess that “glXF” is probably not mature enough to recommend at this time, but I haven’t been following it closely. If transmission is not a consideration at all for you, and you just want a flexible compositional model to share and edit in various authoring environments, something like USD might be preferable, and was designed for that purpose. That said, I expect you’ll find that custom scripting pipelines are usually required with USD, to an even greater extent.