Skip to main content
Share Your Experience: Take the 2024 Developer Survey
6 votes

Is it possible to create minimal glTF files with vertex and index buffers?

While creating a set of glTF models for a tutorial, I also intended to create THE minimal glTF file. Update: The following referred to glTF 1.0/1.1. See below for an update of this example to glTF 2....
Marco13's user avatar
  • 218
5 votes
Accepted

What's the simplest, open, animation format?

For what it's worth, the glTF Tutorials contain a section on Skinning that shows how the raw vertex and joint weight data feed into a vertex shader to distort the mesh. If you do design your own ...
emackey's user avatar
  • 369
4 votes

Is it possible to store the plain buffer data in gltf files?

Embedding human readable data is not supported. However you can put the data into a data uri to store the data inline in base64 format. ...
ratchet freak's user avatar
4 votes

Is it possible to create minimal glTF files with vertex and index buffers?

You can put the data into a data uri to store the data inline in base64 format. ...
ratchet freak's user avatar
3 votes
Accepted

Is it possible to create minimal glTF files with vertex and index buffers?

After spending a hard time to understand the way how the binary buffers work in the gltf files I finally managed to generate a truely minimal gltf file. It's a single yellow triangle (demo). I tried ...
q9f's user avatar
  • 703
3 votes
Accepted

glTF animation keyframe question

You're seeing channels and samplers there, not individual keyframes. In this case, one animation is simultaneously targeting the translation, rotation, and scale channels of the same node, with three ...
emackey's user avatar
  • 369
3 votes
Accepted

How mesh geometry data (vertex coordinates) stored in glTF?

The min and max values provide an outer bounding box for all POSITION data within a given ...
emackey's user avatar
  • 369
2 votes

How to encode/decode buffer data in glTF?

In addition to @russ' answer, I was able to decode the buffer with the gltf Utilities. ...
q9f's user avatar
  • 703
2 votes
Accepted

How to encode/decode buffer data in glTF?

The information you're looking for is defined in the 'accessors' and 'bufferViews' near the top of the source file you linked. Bufferviews simply divide the buffer up into sub ranges and define ...
russ's user avatar
  • 2,392
2 votes
Accepted

How to generate binary gltf array buffers?

I've finally managed to write the buffers myself using JavaScript. The result is a base64 encoded String, like: ...
q9f's user avatar
  • 703
2 votes

How to generate binary gltf array buffers?

Technically any file format where you can dump the entire file into a VBO and then render from that will work for the .bin files. Unfortunately those formats are less well known than they should be. ...
ratchet freak's user avatar
2 votes
Accepted

Is it possible to store the plain buffer data in gltf files?

It's not possible to store the plain text array buffers in gltf, however, here is the code I use to generate buffers in JavaScript: ...
q9f's user avatar
  • 703
2 votes

Determining the Bounding Box values of a glTF file

There isn't a bounding box for the whole glTF file, but individual primitives have POSITION accessors that indicate min and <...
emackey's user avatar
  • 369
2 votes

Programmatically generating bin files for GLTF models

Building upon the answer by @shashankan and another answer in Blender, I wrote a Blender script to convert from FBX into a subfolder with GLTFs. (You may want to remove my scaling code, which scales ...
Adam Thompson's user avatar
2 votes

Programmatically generating bin files for GLTF models

The .bin file that goes with a .gltf only includes mesh data (position, normal, uv, other vertex attributes as needed). It does ...
emackey's user avatar
  • 369
2 votes

When and who introduced the idea of a scene graph?

Not 3D as such, but it seems in 1963 Ivan Sutherland's seminal "Sketchpad" (and wikipedia) had instancing. eg. See "Chapter VI RECURSIVE FUNCTIONS" of the 2nd reference. IIRC ...
Simon F's user avatar
  • 4,261
2 votes

Inspecting gltf animation data

I help maintain an open-source extension for VSCode called glTF Tools. Find the sampler for your animation. The input values will point to a list of times, and <...
emackey's user avatar
  • 369
1 vote
Accepted

Uploading interleaved data in gltf buffers

It is slightly better to combine buffers since it reduces the amount of state that OpenGL has to track, which reduces memory usage overall, and helps reduce state changes. But you only really get ...
pmw1234's user avatar
  • 3,219
1 vote

How to properly use the BRDF from glTF 2.0 specification in path tracing while using metallic/roughness materials?

In rendering, we want to integrate over the light paths (with Monte Carlo integration). The common simplification is that the emissive surfaces emit radiance and the camera is sensitive to radiance, ...
geometrian's user avatar
  • 1,990
1 vote

How does one construct a 3D file format from pixels and vertices?

Here is an overview of how you would go about producing an glTF asset from your data. First, write your index and vertex data arrays into files. They can be all the same file, but for the ...
Kevin Reid's user avatar
  • 1,136
1 vote

How does one construct a 3D file format from pixels and vertices?

The list of pixels would typically be encoded as one of the popular image formats like ktx if it is going to be consumed by other rendering programs, or jpg if it is just for viewing. The vertices, ...
pmw1234's user avatar
  • 3,219
1 vote

How to apply transformation matrices from multiple primitives on a mesh

In the glTF format, "primitives" are just a way to specify separate draw calls (and hence, separate materials or shader programs) for a single mesh. There is no transform, as you've ...
emackey's user avatar
  • 369
1 vote

How to apply a linear transformation to gltf data

When transforming normal vectors we have to be careful to check that the transform itself is equal to its own inverse transpose. Or just do an inverse transpose on the matrix. This is usually the case,...
pmw1234's user avatar
  • 3,219
1 vote
Accepted

Why are these 2 buffers joint while extracting glTF information?

The accessor (model.accessors[accessor_index]) has its own byteOffset and count values that ...
emackey's user avatar
  • 369
1 vote

Convert a .X mesh to a modern format

Perhaps Assimp will work for you? In particular, it has a command line tool for converting between formats.
joe_chip's user avatar
  • 237
1 vote

Convert a .X mesh to a modern format

Blender appears to have a .X importer. It's a plugin that ships with Blender, but is disabled by default, so you have to enable it in User Preferences. See: https://blender.stackexchange.com/a/8749/...
emackey's user avatar
  • 369
1 vote
Accepted

Programmatically generating bin files for GLTF models

To anyone who is reading this in future: I ended up taking an alternative route: Blender scripting. Blender comes with a built-in GLTF / GLB exporter. Here is what the render pipeline looks like in ...
shashanka n's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible