minetest / irrlicht

Minetest's fork of Irrlicht
Other
114 stars 87 forks source link

Static glTF mesh loading #200

Closed JosiahWI closed 5 months ago

JosiahWI commented 1 year ago

Part of https://github.com/minetest/minetest/issues/9673

We use tinygltf for the parsing and Catch2 for the unit tests. The loader currently supports static meshes in glTF text format, but tinygltf will make it easy to support binary glTF files in a future version. Because we intend to support as much of the glTF feature set as we can in the future, we need to ensure forward compatibility, and that's the main thing I want feedback on.

Feature set:

Features not supported yet (planned for separate PRs):

TODO:

Thank you to GreenXenith and appgurueu for all their assistance, and especially to jordan4ibanez for adding a lot of improvements.

numberZero commented 1 year ago

What’s the value of glTF over Obj and B3D?

rollerozxa commented 1 year ago

What’s the value of glTF over Obj and B3D?

An animated model format that isn't obsolete.

JosiahWI commented 1 year ago

glTF has better tooling support. One of the major issues with b3d is that we don't have a good exporter for Blender>=3.0. Blender and Blockbench both export to glTF.

JosiahWI commented 1 year ago

Discussed offline, and I'm hearing that my previous statement is no longer true.

Montandalar commented 1 year ago

While the latest version GreenXenith's exporter may have Blender >=3.0 support, that exporter codebase is still not really very nice to deal with. It has caused me all sorts of problems. While I can't vouch for the glTF exporters of various programs yet because I don't regularly use Blender or Blockbench for another application, I would still think they are a fair bit better than b3d tools, and more likely to improve than the old b3d tools we have basically had to maintain ourselves.

rubenwardy commented 1 year ago

See https://github.com/minetest/minetest/issues/9673

numberZero commented 1 year ago

See minetest/minetest#9673

Thanks. Apparently the alternatives to glTF are worse.

@nerzhul I remember you were against making Irrlicht a submodule. But, tinygltf is another story, it’s not like we’re going to commit into it ourselves—so what’s your opinion on putting it into a submodule?

JosiahWI commented 10 months ago

There are some issues with the build, but the code part has been rebased.

jordan4ibanez commented 10 months ago

A rebase huh? I'll shelf my other PR and call it something dramatic

appgurueu commented 9 months ago

Current work in progress:

  1. https://github.com/JosiahWI/irrlicht/pull/14
  2. https://github.com/JosiahWI/irrlicht/pull/12
JosiahWI commented 5 months ago

Replaced by minetest/minetest#14557.