MCglTF

MCglTF

Mod

glTF library for Minecraft Mod

Client LibraryUtility

14.4k downloads
2 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!

MCglTF is a 3D model loader library which load glTF format file and prepare the required techniques to render the model for Minecraft Modding enviroment.
Various features from glTF spec are available, but still remain a good compatibility and performance.

enter image description here

Usages

The example codes for rendering Block, Item, and Entity

Features

  • ✅ GLTF format (Embedded resources or via ResourceLocation)
  • ✅ GLB format
  • ✅ UVs
  • ✅ Normals
  • ✅ Tangents
  • ✅ Vertex colors
  • ✅ Materials (Require OptiFine or Iris Shaders and supported ShaderPack for PBR and Normal map)
  • ✅ Textures
  • ❎ Mutiple texture coordinates (For compatibility reason with Vanilla)
  • ✅ Rig
  • ✅ Animations (multiple)
  • ✅ Morph targets
  • ✅ Zero-scale node culling (https://github.com/KhronosGroup/glTF/pull/2059)

Frequently Asked Question

Q. Why my texture for my model does not show up?
A. You need to defined material inside "extras" of "materials" to link your texture. For more details please visit wiki page.

Q. Why two animations cannot control translation/rotation/scale/weight in same node at the same time and cause one of the animation not playing?
A. There is no animation blending technique defined in glTF specification, so the animations created by GltfAnimationCreator does not support animation blending too. You need to create your own animation processor based on your scenario.

Q. How to apply my custom processing to the model like custom material(e.g. apply player skin) or create special OpenGL commands for specified node?
A. For more advanced way to generate OpenGL commands for glTF model, you can override and return false to isReceiveSharedModel(GltfModel, GltfRenderDatas) in your IGltfModelReceiver. This allow you to create your custom RenderedGltfModel based on supplied GltfModel. (Beware to add your OpenGL objects like VBO, VAO, Texture, etc to GltfRenderDatas for deletion during refresh resource.)

Credit


Project members

Protoxy22

Owner

Details

Licensed MIT
Published a year ago
Updated a year ago