- Ambiguous import compilation error with Rust 1.31 (#55)
- Crash due to near plane 0 (#54, rust-lang/rust#56316)
- (internal) upgrade to Rust Edition 2018
--straight
CLI parameter: Position camera in front of model if using default camera (i.e. glTF doesn't contain a camera or--cam-index -1
is passed) (#49)- Support more glTF options (#51/#3, now complete apart from animations):
TEXCOORD_1
- alpha blending (Alpha Mode, Alpha Cutoff)
- no depth/transparency sorting yet though, so result isn't always correct
- all draw modes (Points, Lines, Triangle Strips etc.)
- Rendering of large objects -> dynamic near/far plane (#31)
- Adding camera bounds cause incorrect bounding box estimation (#47)
- Minor PBR shader fixes (copied from the reference shader)
- update
gltf
crate (0.9.3 -> 0.10.1)- partially fixes sparse accessor handling (-> gltf-rs/gltf#148, gltf-rs/gltf#154)
- Decode images from data URIs (fully support embedded glTF files, #26)
- Fix non-headless screenshots on high DPI displays (#23)
- Fix panning direction (#25)
- re-add keyboard controls -
WASD
and cursor keys - remaining glTF camera options:
- orthographic
- infinite perspective
- camera CLI parameters:
--cam-index
(choose camera from gltf file)--cam-pos
--cam-target
--cam-fovy
(zoom)
- ambient lighting
- vertex colors (
COLOR_0
vertex attribute) --scene
parameter to choose from multiple scenes in a file
- default field of view (fovy) from 60˚ to 75˚
- Initial 'nice' camera position (some models were not properly centered)
- Zooming with real mouse wheel
- replace
WASD+mouse
navigation withOrbitControls
based on three.js:- rotate: left click + drag
- pan: right click + drag (still a bit buggy after rotation/zoom)
- zoom: mouse wheel
- background for screenshots is now transparent
--count
parameter (short-c
) to generate multiple screenshots, rotating evenly spaced around the object (#10)--headless
parameter for real headless screenshot generation. Unfortunately it only works on macOS. For a workaround usingxvfb
/Docker see here.- Docker images are automatically built for each branch & tag: https://hub.docker.com/r/bwasty/gltf-viewer/
- add PBR shading
- add screenshot generation via parameter (
-s, --screenshot <FILE>
)- Note: currently creates a hidden window, as the "headless" mode of
glutin
did not work as expected
- Note: currently creates a hidden window, as the "headless" mode of
- Determine 'nice' initial camera position from bounding box of scene
- doesn't work in all cases yet
- glTF cameras are still ignored
- update gltf crate to 0.9.2
- remove URL parameter (HTTP handling needs to be re-implemented differently after large changes to the
gltf
crate)
- add binaries for Win/Linux/macOS to releases
- switch from
glfw-rs
toglutin
- add performance logging
- internal refactoring & optimizations
- Fix shader handling (
cargo install
ed version didn't work as shaders weren't compiled into the binary).
- Initial release. Can display most glTF files, but without any lighting or textures.
The format is based on Keep a Changelog.