Skip to content

Releases: f3d-app/f3d

Nightly

10 Dec 20:01
a9aa665
Compare
Choose a tag to compare
Nightly Pre-release
Pre-release

Automatically generated nightly binary release

v3.2.0

08 Jul 22:01
22f88ca
Compare
Choose a tag to compare

main

πŸ—£ Join our community:

F3D Community is welcoming to users and developers alike!
Ask questions, gets involved and starts contributing in a beginner-friendly environment.
Discord

❀️ Sponsor F3D:

F3D is looking for sponsors!
We have some expenses mainly related to github and web hosting bills, any help to cover the cost would be highly appreciated.
To thank you, we'll offer preferential support and vote on next feature and bugfix as soon as you start sponsoring.
Sponsors
Much love to our sponsors for this release ❀️
@jgod @exbluesbreaker @parkerlreed @Saijin-Naib @CriticalPoint @Ramalama2

πŸ–ΌοΈ Gaussian Splatting improvements

We have improved gaussian splatting support in F3D!
You can now open .spz and .ply files along with the existing .splat support.
Moreover, these new formats support spherical harmonics for high quality renders.

splat

πŸ”¬ New scivis formats

Scivis rendering has always been a big part of F3D userbase and we want to make sure we keep improving on that regard!
You can now open VTKHDF (.vtkhdf) and NetCDF (.nc) in F3D.
Also you can now open .usd file with embedded EXR textures.

blob

πŸ•ΆοΈ New UI style

In F3D 3.0 we have introduced a new UI based on ImGui, we now have styled it using the new color palette of F3D!

ui

πŸ“ Complete changelog

For F3D users:

  • Added support for VTKHDF format, including AMR datasets (Thanks @Lgt2x !)
  • Added support for SPZ and PLY gaussian splatting format
  • Added a --base-ior option to control index of refraction (thanks @exbluesbreaker !)
  • Added a --multi-file-mode=dir option mode to create file groups based on the folder organization (thanks @snoyer !)
  • Added spherical harmonics support for gaussian splatting (SPZ and PLY)
  • Added a QuakeMDL reader option: -DQuakeMDL.skin_index to select skin to load (thanks @19jrushlow !)
  • Added support for reading EXR texture in USD format
  • Added support for selection multiple animations using --animation-indices=1,2,3
  • Added a --colormap-discretization option to control scalar rendering discretization (Thanks @hant-hub !)
  • Added glob support to configuration file (Thanks @skusel !)
  • Added a --textures-transform option to set a transform on textures (thanks @samoncrief !)
  • Added listing of more exodus extensions .e, .g and .exo
  • Added a minimal console, open by pressing : (Thanks @dh-you !)
  • Added increase_opacity and decrease_opacity commands and bindings (Ctrl+P and Shift+P) (Thanks @19jrushlow !)
  • Added a --force-reader option to select the reader to use, even with the wrong extension (Thanks @0xfedcafe !)
  • Added a binding to switch verbose level by pressing Shift+V (Thanks @prathikkaranth !)
  • Added netcdf format support (Thanks @vk1cd314 !)
  • Added elevation_camera and azimuth_camera commands (Thanks @Medyan-Naser !)
  • Added a elevation_camera binding (2 and 8) (Thanks @Medyan-Naser !)
  • Improved documentation (Thanks @prathikkaranth @19jrushlow @upadhyayaniket29 @saishreyakumar @Yogesh9000 !)
  • Improved logging (Thanks @snoyer !)
  • Improved camera management on special locations like looking straight down (thanks @snoyer !)
  • Changed UI style to fit with new F3D design
  • Fixed multiple issues with coloring while skinning or morphing (thanks for the prototype @exbluesbreaker !)
  • Fixed an issue with normals in the QuakeMDL importer
  • Fixed a wobbling issue when rotating the camera (thanks @snoyer !)
  • Fixed an issue where --verbose=quiet was not respected
  • Fixed multiple UI issues (thanks @exbluesbreaker !)
  • Fixed an infamous crash on Windows when username has a special character in it
  • Fixed an issue where configuration file loading order was not respected
  • Fixed an issue where optional option were not kept when changing file group
  • Fixed a crash when using Ctrl+O but then selecting no files (Thanks @0xfedcafe !)
  • Fixed an issue with colinear camera and Up vector (Thanks @skusel !)
  • Deprecated --animation-index option

For libf3d users:

  • Added scene.animation.indices to select multiple animations
  • Added model.material.base_ior to control index of refraction (thanks @exbluesbreaker !)
  • Added model.scivis.discretization to control scalar rendering discretization (Thanks @hant-hub !)
  • Added model.textures_transform to set a transform on textures (thanks @samoncrief !)
  • Added scene.force_reader to force a specific reader to be used (Thanks @0xfedcafe !)
  • Added streaming support to Splat reader (not exposed yet) (Thanks @Medyan-Naser !)
  • Improved camera API and default values (thanks @snoyer !)
  • Improved python stubs (Thanks @snoyer !)
  • Fixed help(f3d) (Thanks @carsonRadtke !)
  • Deprecated scene.animation.index option

For F3D packagers:

  • Fixed a missing include in vtkF3DQuakeMDLImporter (Thanks @pbsds !)
  • Fixed a configuration issue against assimp 6.0
  • Removed f3d_PREFIX_DIR and rely on PACKAGE_PREFIX_DIR instead
  • Renamed F3D_PLUGIN_BUILD_EXODUS into F3D_PLUGIN_BUILD_HDF
  • Added a few new VTK module dependencies

Many thanks to our returning contributors, they are the life of this community!
@Lgt2x @exbluesbreaker @snoyer @19jrushlow @samoncrief @0xfedcafe @skusel

Thanks to our contributors for this release!
@hant-hub @dh-you @prathikkaranth @vk1cd314 @Medyan-Naser @upadhyayaniket29 @saishreyakumar @Yogesh9000 @carsonRadtke @pbsds

Thanks to our packagers that help F3D reach a wider audience!
AndnoVember @kylosus @kevinsmia1939 @yurivict @bcdarwin @svenstaro @mzf-guest @papoteur-mga @berolinux @topazus @thierry-FreeBSD @xiota @alerque @chenrui333 daviddavid @kazzarin @StarsbySea @cho-m @adisbladis @Aleksanaa @pbsds @DimStar77 @AngryPenguinPL @strophy @SokolovValy @xiota @UnownPlain

Credits

Bicycle data from https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/

v3.2.0-RC2

07 Jul 13:59
348468b
Compare
Choose a tag to compare
v3.2.0-RC2 Pre-release
Pre-release
v3.2.0-RC2

v3.2.0-RC1

06 Jul 13:16
b4b6a9e
Compare
Choose a tag to compare
v3.2.0-RC1 Pre-release
Pre-release
v3.2.0-RC1

v3.1.0

16 Apr 10:22
d2a953f
Compare
Choose a tag to compare

Image

πŸ—£ Join our community:

F3D Community is welcoming to users and developers alike!
Ask questions, gets involved and starts contributing in a beginner-friendly environment.
Discord

❀️ Sponsor F3D:

F3D is looking for sponsors!
We have some expenses mainly related to github and web hosting bills, any help to cover the cost would be highly appreciated.
To thank you, we'll offer preferential support and vote on next feature and bugfix as soon as you start sponsoring.
Sponsors
Much love to our sponsors for this release @jgod @exbluesbreaker @parkerlreed @Saijin-Naib @CriticalPoint @Ramalama2 ❀️

πŸ”« Quake MDL support

You can now open QuakeMDL files, of course with animations support!

Image

πŸ–ΌοΈ Supersampling anti aliasing

Thumbnails are great but small, they are now much nicer looking thanks to supersampling anti aliasing!
You can also use it manually with --anti-aliasing-mode=ssaa.

Image

#️⃣ Improved option parsing and console

Console and options parsing have been greatly improved, with auto completion, command history and fancy color and direction parsing!
Option parsing also works for command line options.

Image

πŸ“ Complete changelog

For F3D users:

  • Added support for reading Quake MDL files (Thanks @malespiaut @Youva !)
  • Added support supersampling anti aliasing and enable it for thumbnails
  • Added support for displaying metadata with assimp formats (FBX and more) (Thanks @exbluesbreaker !)
  • Added support for --up vector to be any direction (Thanks @snoyer !)
  • Added support for parsing color options with syntax: #ff00ff, hsv(240 , 100% , 100%) and more (Thanks @VittorioSanchez !)
  • Added support for parsing direction options with syntax: +X, -z+y and more (Thanks @snoyer !)
  • Added support for parsing path options with syntax: ~/path/to/../to/relative/file.ext
  • Added support for parsing colormap options with syntax: val, color, val, color,....
  • Added bind to increase opacity (Ctrl+P) and decrease opacity (Shift+P) (Thanks @19jrushlow !)
  • Added report of config file locations being checked
  • Added support for imperative (force) option in configuration files
  • Added XDG support for cache location
  • Added support for history and command action in console (Thanks @exbluesbreaker !)
  • Added a remove_file_groups command (Thanks @yankadeshkovski !)
  • Added increase_opacity and decrease_opacity commands (Thanks @19jrushlow !)
  • Added alias command to create aliases of other commands (Thanks @v0id-strike !)
  • Added support for setting and resetting libf3d options from CLI using --define and --reset (Thanks @Denys619 !)
  • Added many reader specific options that can be controlled using --define
  • Added PWA support to F3DWeb (Thanks @snoyer !)
  • Added support for url-params in F3DWeb (Thanks @jo-chemla !)
  • Improved documentation (Thanks @Denys619 !)
  • Changed report of Unset value to Unset instead of N/A in cheatsheet (Thanks @19jrushlow !)
  • Changed dropzone to be implemented using ImGui (Thanks @Ni-g-3l and @Denys619 !)
  • Fixed an issue where scalar bar and axis displayed on top of console (Thanks @Yogesh9000 !)
  • Fixed zsh completion (Thanks @jia-kai !)
  • Fixed multiple OBJ related loading issues
  • Fixed multiple assimp related loading issues (Thanks @exbluesbreaker !)
  • Fixed crashes when opening PLY files
  • Fixed a crash when opening multiple USD files
  • Fixed cheatsheet location (Thanks @Ni-g-3l !)
  • Fixed final-shader to only be applied on VTK rendering (Thanks @samoncrief !)
  • Fixed an issue when using camera shortcut and then interacting (Thanks @samoncrief !)
  • Fixed config file location on macOS
  • Fixed multiple issues where exceptions would result in errors (Thanks @exbluesbreaker !)
  • Removed skip frame logic with animations after fixes in VTK (Thanks @exbluesbreaker !)

For libf3d users:

  • Added parsing/formatting for color_t (Thanks @VittorioSanchez !)
  • Added parsing/formatting for direction_t (Thanks @snoyer !)
  • Added parsing/formatting for std::filesystem::path
  • Added parsing/formatting for colormap_t
  • Changed color options to use actual type color_t
  • Changed direction options to use actual type direction_t
  • Changed path options to use actual type std::filesystem::path. Note that path should now be collapsed.
  • Changed colormap_t options to use actual type colormap_t

For F3D packagers:

  • Fixed compatibility with FreeBSD
  • Fixed reproducible build for man generation (Thanks @Antiz96 !)

For F3D plugin developpers:

  • Added support for reader specific options

Thanks to all our packagers that help F3D reach a wider audience: AndnoVember @kylosus @kevinsmia1939 @yurivict @bcdarwin @svenstaro @mzf-guest @papoteur-mga @berolinux @topazus @thierry-FreeBSD @xiota @alerque @chenrui333 daviddavid @kazzarin @StarsbySea @cho-m @adisbladis @Aleksanaa @pbsds @DimStar77 @AngryPenguinPL
Thanks to all our contributors for this release: @malespiaut @Youva @exbluesbreaker @snoyer @VittorioSanchez @19jrushlow @yankadeshkovski @v0id-strike @Denys619 @jo-chemla @Yogesh9000 @jia-kai @Ni-g-3l @samoncrief @Antiz96

Credits

v3.1.0-RC3

15 Apr 17:58
8765873
Compare
Choose a tag to compare
v3.1.0-RC3 Pre-release
Pre-release
v3.1.0-RC3

v3.1.0-RC2

15 Apr 07:50
9bd02cd
Compare
Choose a tag to compare
v3.1.0-RC2 Pre-release
Pre-release
v3.1.0-RC2

v3.1.0-RC1

14 Apr 17:06
cb3e9ae
Compare
Choose a tag to compare
v3.1.0-RC1 Pre-release
Pre-release
v3.1.0-RC1

v3.1.0-RC0

30 Mar 14:55
576d82d
Compare
Choose a tag to compare
v3.1.0-RC0 Pre-release
Pre-release
v3.1.0-RC0

v3.0.0

18 Jan 18:00
8e939c1
Compare
Choose a tag to compare

Image

πŸ—£ Join our community:

F3D Community is welcoming to users and developers alike!
Ask questions, gets involved and starts contributing in a beginner-friendly environment.
Discord

❀️ Sponsor F3D:

F3D is looking for sponsors!
We have some expenses mainly related to github and web hosting bills, any help to cover the cost would be highly appreciated.
To thank you, we'll offer preferential support and vote on next feature and bugfix as soon as you start sponsoring.
Sponsors
Much love to our sponsors for this release @Saijin-Naib @CriticalPoint @kidharb @Ramalama2 ❀️

🀸 Armature Display Support

You can now display armature from glTF files in F3D!
Just press "Shift+A" and it will appear, of course, animation is supported.

Image

πŸ“‚ Open file dialog

Load a file in a pinch by using the native file dialog!
Press "Ctrl+O" to open it and select a file to load.

Image

πŸ–₯️ Interactive Console

F3D now has an interactive console!
Press "Esc" to display it. You will find the log there and you will be able to input commands.
It replaces the log output window on Windows.
You can add_files, set_camera, print_mesh_info, set any libf3d options and much more:

Image

πŸ“ Complete changelog

Note:

This is a major release, API and workflow have changed.
Please find, if needed, the migration guide in the dedicated issue.

For F3D users:

  • BREAKING CHANGE: Configuration files have changed syntax
  • BREAKING CHANGE: Removed all deprecated options
  • BREAKING CHANGE: --scalars have been split into --scalar-coloring and --coloring-array CLI options
  • BREAKING CHANGE: = must be used for CLI Options, --option value is not supported anymore
  • BREAKING CHANGE: Removed geometry-only and group-geometries and added multi-file-mode option for more flexible loading of multiple files
  • BREAKING CHANGE: There is no headless specific binary release anymore, just use the standard binary with --rendering-backend=egl
  • BREAKING CHANGE: --dry-run has been renamed --no-config (Thanks @t-h2o !)
  • BREAKING CHANGE: Esc to quit the app has been changed to Ctrl+Q
  • BREAKING CHANGE: --animation-frame-rate has been replaced by --frame-rate
  • BREAKING CHANGE: Renamed --bg-color into --background-color
  • BREAKING CHANGE: Renamed --comp into --coloring-component
  • BREAKING CHANGE: Removed the ? interaction to dump info, use commands instead
  • BREAKING CHANGE: Renamed --progress into --loading-progress
  • BREAKING CHANGE: Renamed --cells into --coloring-by-cells
  • BREAKING CHANGE: Renamed --range into --coloring-range
  • BREAKING CHANGE: Renamed --bar into --coloring-scalar-bar
  • BREAKING CHANGE: Renamed --inverse into --volume-inverse
  • BREAKING CHANGE: Renamed --samples into --raytracing-samples
  • BREAKING CHANGE: Renamed --denoise into --raytracing-denoise
  • BREAKING CHANGE: Renamed --ref into --reference and --ref-threshold into --reference-threshold
  • BREAKING CHANGE: Renamed --readers-list into --list-readers
  • BREAKING CHANGE: F3D binary release is now built with GCC9
  • Changed the logo! (Thanks @snoyer @lknknm @mariami-zedginidze !)
  • Reworked the UI using ImGui
  • Added support for specifying interactions in config files, see doc
  • Added a --command-script CLI option
  • Added a tiny file dialog, just press Ctrl+O (Thanks @hant-hub !)
  • Added support for armature visualization with --armature CLI option (glTF only)
  • Added support for keeping camera position when switching files, just press Ctrl+Arrow (thanks @jia-kai !)
  • Added a ImGui based console to input commands by pressing Esc
  • Added a "Save minimal screenshot" interaction by pressing Shift+F12 (Thanks @snoyer !)
  • Added error reporting when loading a file failed for some reason
  • Added missing config file for .brep files (Thanks @NWc0de !)
  • Added support for .xbf files (Thanks @snoyer !)
  • Added --input CLI option
  • Added support for libf3d option in configuration files
  • Added support for parsing option based on their type, see the doc (Thanks @snoyer !)
  • Added a --rendering-backend option to select the rendering backend, including headless
  • Added an interaction to rotate camera 90 degrees by pressing 4/6 (Thanks @dk1242 !)
  • Added an interaction to drop only HDRI (Shift+Drop) and an interaction to drop only 3D files (Ctrl+Drop)
  • Added a --list-bindings CLI option
  • Added a --list-rendering-backends CLI option
  • Added compatibility with VFX CY2025
  • Added commands to print info about scene, coloring, mesh and options (Thanks @samoncrief !)
  • Added command to clear the console (Thanks @0xfedcafe !)
  • Added support for expanding tilda (~) into HOME when inputting any path
  • Reworked CLI option parsing to avoid parsing issues
  • Improved --list-readers CLI option output (Thanks @snoyer !)
  • Improved image comparison algorithm
  • Improved options suggestion in the command line (Thanks @snoyer !)
  • Improved many features in F3DWeb as well as adding OCCT and Draco support (Thanks @jo-chemla !)
  • Improved the webassembly bindings
  • Improved the documentation (Thanks @spevnev @stepperpig @Aarav-07 @t-h2o !)
  • Improved python bindings (Thanks @snoyer @Nokse22 !)
  • Improved startup performance (Thanks @Yogesh9000 !)
  • Improved scalar range handling with animation
  • Fixed a crash when opening a glTF file with no textures
  • Fixed an option priority issue with --help (Thanks @brown-eric !)
  • Fixed a crash with invalid --animation-index and assimp
  • Fixed an issue where the window displayed an empty filename (Thanks @snoyer !)
  • Fixed an issue where the window resolution was reset when changing file
  • Fixed an issue when resetting the camera and using --camera-index
  • Fixed an issue with --camera-index being overridden by other camera options (Thanks @dk1242 !)
  • Fixed an issue when loading a time value outside of the range (Thanks @snoyer !)
  • Fixed issues with screenshot templating (Thanks @snoyer !)
  • Fixed an issue with grid rendering on main axes (Thanks @rhysaelliott !)
  • Fixed an issue where color-bar would show when not needed
  • Fixed an issue with glTF file using URI
  • Fixed --help invalid output (Thanks @Schwarzemann !)
  • Fixed a small issue with F3D dialog being incorrectly named on macOS
  • Fixed an issue where file where open two times on macOS

For libf3d users:

  • BREAKING CHANGE: All deprecated methods have been removed
  • BREAKING CHANGE: engine::libInformation members have been changed
  • BREAKING CHANGE: options API has been rewritten from scratch, see the doc (Thanks for the help @Yogesh9000 !)
  • BREAKING CHANGE: options many options are now optional
  • BREAKING CHANGE: loader API has been replaced by a new class: scene
  • BREAKING CHANGE: engine creation API has been rewritten from scratch and a context class has been added.
  • BREAKING CHANGE: interactor: setKeyPressCallBack, setDropFilesCallBack and timerCallback have been removed
  • BREAKING CHANGE: camera API has been reworked
  • BREAKING CHANGE: image::compare API has been changed
  • BREAKING CHANGE: libf3d API is now using C++17, nodiscard, std::filesystem and std::string_view are now used whenever it makes sense
  • BREAKING CHANGE: Removed support for python 3.8
  • Added an interactor::command* API that lets user control the libf3d behavior more finely
  • Added an interactor::binding* API that lets user control how the libf3d respond to interactions
  • Added an scene::loadAnimationTime API to select animation time to load
  • Added interactor::start arg to control an event loop time and a event loop callback
  • Added python stubs for autocompletion and IDE integration (Thanks @snoyer !)
  • Added support for python 3.13
  • Fixed an issue with instanciang multiple engines (Thanks @hant-hub !)
  • Added an utils::collapsePath
  • Fixed an issue with HiDPI when using the libf3d on Windows

For F3D packagers:

  • BREAKING CHANGE: Removed compatibility with older version of VTK. VTK v9.2.6 is now required.
  • Added a new CMake options to build python stubs: F3D_BINDINGS_PYTHON_GENERATE_STUBS
  • Added a new optional but internally provided dependency: tinyfiledialogs
  • Modified dmon dependency to be optional
  • F3D_LINUX_APPLICATION_LINK_FILESYSTEM has been renamed F3D_LINUX_LINK_FILESYSTEM and is now OFF by default

For F3D plugin developers:

  • Added a vtkF3DImporter and vtkF3DGLTFImporter for easier subclassing

Thanks to all our packagers that help F3D reach a wider audience: AndnoVember @kylosus @kevinsmia1939 @yurivict @bcdarwin @svenstaro @mzf-guest @papoteur-mga @berolinux @topazus @thierry-FreeBSD @xiota @alerque @chenrui333 daviddavid @kazzarin @StarsbySea @cho-m @adisbladis @Aleksanaa @pbsds @DimStar77 @AngryPenguinPL
Thanks to all our contributors for this release: @t-h2o @snoyer @lknknm @Mar...

Read more