glTF implementation in progress

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Post Reply
josiah_wi
Posts: 2
Joined: Fri Sep 22, 2023 8:30 pm

glTF implementation in progress

Post by josiah_wi »

Hello, I am a Minetest contributor who has been working on glTF support for their Irrlicht fork. I have been informed that upstream Irrlicht is already planning glTF support, so I'm here to see whether the work I've done is useful for upstream and how we can coordinate. My work on it has recently slowed down significantly because of other circumstances in my life, and I've had trouble finding people to pick up where I left off or review what I've done so far.
CuteAlien
Admin
Posts: 9644
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: glTF implementation in progress

Post by CuteAlien »

Hi, glad to hear it. Sadly there is nothing about that going on in upstream so far. I would be super interesting to have it - mainly to get a nicer Blender->Irrlicht pipeline.

And talking about that chronologicaldot mention recently he has already written an irrJSON (https://github.com/chronologicaldot/Irr ... il/irrJSON, also needs https://github.com/chronologicaldot/Irr ... il/irrTree). I haven't found time yet for more than a cursory view, so can't really say yet anything about it. Having JSON support in Irrlicht would probably help a bit...

But until 1.9 release (whenever that is), adding features is not too high on my list. Might make an exception for a working glTF loader.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
josiah_wi
Posts: 2
Joined: Fri Sep 22, 2023 8:30 pm

Re: glTF implementation in progress

Post by josiah_wi »

The implementation I started uses a third-party library (tinygltf) for the the parsing. Perhaps you don't want to introduce a dependency on that library, as it would bring in a dependency on nhlomann-json as well.
CuteAlien
Admin
Posts: 9644
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: glTF implementation in progress

Post by CuteAlien »

Well, having an external loader still is great!

Actually I thought a few times already about adding a new folder to Irrlicht about 3rd party library integration. Which would include code to use those with Irrlicht, but not the libraries (maybe some documentation how to get it working). That would also also make it easier to include samples for stuff like freetype, physics libraries or integration examples for things like qt or wxWidgets. And maybe also more loaders (for example I recently made a Sketchup loader for a job and guess they might allow me to open source that, while I obviously couldn't add the proprietary Sketchup API it uses to Irrlicht).

I can't tell if that's possible with glTF. But can also be a mix of - external loader + some feature-patches which it needs inside Irrlicht.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Virion
Competition winner
Posts: 2148
Joined: Mon Dec 18, 2006 5:04 am

Re: glTF implementation in progress

Post by Virion »

As far as I know, tinygltf is MIT license, shouldn't be a problem I guess? I see zlib, libpng, bzip2 etc. are included in the irrlicht repo.
CuteAlien
Admin
Posts: 9644
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: glTF implementation in progress

Post by CuteAlien »

More or less OK-ish, although the 3 you mentioned are basically the same license as Irrlicht (jpeglib would be closer to MIT license). But I don't like adding even more dependencies. Every additional lib tends to make maintainance harder (updating libs is the kind of work no one ever volunteers to do in his spare-time and also something I usually push away as long as possible). And with me having to do most maintainance by now I'd rather see it as external loader. As mentioned - adding a new folder for integration 3rd party stuff would be OK by me. I won't add the libs then (so not much additional maintainance work), but it would help people who need that to set it up.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Post Reply