
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.

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
- JglTF by javagl: https://github.com/javagl/JglTF
- Mikk Tangent Generator by jMonkeyEngine: https://github.com/jMonkeyEngine/jmonkeyengine
Ченджлог
1.19.3-Fabric-2.1.0.0Релиз1.19.3 · 15 июля 2023 г.
.Initial release for 1.19.3.
.Potential breaking change: If your model is in glTF V2 format and material properties inside extras of materials does not exist, it will try using corresponding properties of glTF V2 material before using the "Default Value".
Plaese visit wiki page for more info: https://github.com/ModularMods/MCglTF/wiki/From-3D-modeling-software-to-Minecraft#gltf-v2-material-sp
1.19.3-Forge-2.1.0.0Релиз1.19.3 · 15 июля 2023 г.
.Initial release for 1.19.3.
.Potential breaking change: If your model is in glTF V2 format and material properties inside extras of materials does not exist, it will try using corresponding properties of glTF V2 material before using the "Default Value".
Plaese visit wiki page for more info: https://github.com/ModularMods/MCglTF/wiki/From-3D-modeling-software-to-Minecraft#gltf-v2-material-sp
1.18.2-Fabric-2.0.3.0Релиз1.18.2 · 15 июля 2023 г.
.One vertex can be now control by more than 4 bones, but this kind of mesh will use software skinning only.
.Fix TEXCOORD_1 attribute for mc_midTexCoord using wrong morph target.
.Fix RenderedGltfModelGL30 and RenderedGltfModelGL20 not generate Mikk tangent morph target in processMeshPrimitiveModelMikkTangent() of vertex skinning.
.Remove every GL13.glClientActiveTexture(COLOR_MAP_INDEX); for being unnecessary.
.Fix rendering glitch and game crash on GL20 profile.
1.18.2-Forge-2.0.3.0Релиз1.18.2 · 15 июля 2023 г.
.One vertex can be now control by more than 4 bones, but this kind of mesh will use software skinning only.
.Fix TEXCOORD_1 attribute for mc_midTexCoord using wrong morph target.
.Fix RenderedGltfModelGL30 and RenderedGltfModelGL20 not generate Mikk tangent morph target in processMeshPrimitiveModelMikkTangent() of vertex skinning.
.Remove every GL13.glClientActiveTexture(COLOR_MAP_INDEX); for being unnecessary.
.Fix rendering glitch and game crash on GL20 profile.
1.16.5-Fabric-2.0.3.0Релиз1.16.3, 1.16.4, 1.16.5 · 15 июля 2023 г.
.One vertex can be now control by more than 4 bones, but this kind of mesh will use software skinning only.
.Fix TEXCOORD_1 attribute for mc_midTexCoord using wrong morph target.
.Fix RenderedGltfModelGL30 and RenderedGltfModelGL20 not generate Mikk tangent morph target in processMeshPrimitiveModelMikkTangent() of vertex skinning.
.Remove every GL13.glClientActiveTexture(COLOR_MAP_INDEX); for being unnecessary.
.Fix rendering glitch and game crash on GL20 profile.
1.16.5-Forge-2.0.3.0Релиз1.16.5 · 15 июля 2023 г.
.One vertex can be now control by more than 4 bones, but this kind of mesh will use software skinning only.
.Fix TEXCOORD_1 attribute for mc_midTexCoord using wrong morph target.
.Fix RenderedGltfModelGL30 and RenderedGltfModelGL20 not generate Mikk tangent morph target in processMeshPrimitiveModelMikkTangent() of vertex skinning.
.Remove every GL13.glClientActiveTexture(COLOR_MAP_INDEX); for being unnecessary.
.Fix rendering glitch and game crash on GL20 profile.
1.12.2-Forge-2.0.3.0Релиз1.12.2 · 15 июля 2023 г.
.One vertex can be now control by more than 4 bones, but this kind of mesh will use software skinning only.
.Fix TEXCOORD_1 attribute for mc_midTexCoord using wrong morph target.
.Fix RenderedGltfModelGL30 and RenderedGltfModelGL20 not generate Mikk tangent morph target in processMeshPrimitiveModelMikkTangent() of vertex skinning.
.Remove every GL13.glClientActiveTexture(COLOR_MAP_INDEX); for being unnecessary.
.Fix rendering glitch and game crash on GL20 profile.
Комментарии
Загружаем…