Releases: f3d-app/f3d
v3.1.0-RC0
v3.1.0-RC0
v3.0.0
π£ Join our community:
F3D Community is welcoming to users and developers alike!
Ask questions, gets involved and starts contributing in a beginner-friendly environment.
β€οΈ 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.
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.
π 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.
π₯οΈ 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:
π 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:
--scalarshave been split into--scalar-coloringand--coloring-arrayCLI options - BREAKING CHANGE:
=must be used for CLI Options,--option valueis not supported anymore - BREAKING CHANGE: Removed
geometry-onlyandgroup-geometriesand addedmulti-file-modeoption 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-runhas been renamed--no-config(Thanks @t-h2o !) - BREAKING CHANGE:
Escto quit the app has been changed toCtrl+Q - BREAKING CHANGE:
--animation-frame-ratehas been replaced by--frame-rate - BREAKING CHANGE: Renamed
--bg-colorinto--background-color - BREAKING CHANGE: Renamed
--compinto--coloring-component - BREAKING CHANGE: Removed the
?interaction to dump info, use commands instead - BREAKING CHANGE: Renamed
--progressinto--loading-progress - BREAKING CHANGE: Renamed
--cellsinto--coloring-by-cells - BREAKING CHANGE: Renamed
--rangeinto--coloring-range - BREAKING CHANGE: Renamed
--barinto--coloring-scalar-bar - BREAKING CHANGE: Renamed
--inverseinto--volume-inverse - BREAKING CHANGE: Renamed
--samplesinto--raytracing-samples - BREAKING CHANGE: Renamed
--denoiseinto--raytracing-denoise - BREAKING CHANGE: Renamed
--refinto--referenceand--ref-thresholdinto--reference-threshold - BREAKING CHANGE: Renamed
--readers-listinto--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-scriptCLI option - Added a tiny file dialog, just press
Ctrl+O(Thanks @hant-hub !) - Added support for armature visualization with
--armatureCLI 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
--inputCLI 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-backendoption 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-bindingsCLI option - Added a
--list-rendering-backendsCLI 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 (
~) intoHOMEwhen inputting any path - Reworked CLI option parsing to avoid parsing issues
- Improved
--list-readersCLI 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-indexand 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-indexbeing 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
--helpinvalid 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::libInformationmembers have been changed - BREAKING CHANGE:
optionsAPI has been rewritten from scratch, see the doc (Thanks for the help @Yogesh9000 !) - BREAKING CHANGE:
optionsmany options are now optional - BREAKING CHANGE:
loaderAPI has been replaced by a new class:scene - BREAKING CHANGE:
enginecreation API has been rewritten from scratch and acontextclass has been added. - BREAKING CHANGE:
interactor:setKeyPressCallBack,setDropFilesCallBackandtimerCallbackhave been removed - BREAKING CHANGE:
cameraAPI has been reworked - BREAKING CHANGE:
image::compareAPI has been changed - BREAKING CHANGE: libf3d API is now using C++17,
nodiscard,std::filesystemandstd::string_vieware 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::loadAnimationTimeAPI to select animation time to load - Added
interactor::startarg 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_FILESYSTEMhas been renamedF3D_LINUX_LINK_FILESYSTEMand 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...
v3.0.0-RC5
v3.0.0-RC5
v3.0.0-RC4
v3.0.0-RC4
v3.0.0-RC3
v3.0.0-RC3
v3.0.0-RC2
v3.0.0-RC2
v3.0.0-RC1
v3.0.0-RC1
v2.5.1
A patch release dedicated to package maintainers that makes F3D v2.5 compatible with vtk v9.4.0
If you are looking for binaries, please download F3D 2.5.0.
Changelog
- Fix build compatibility with vtk v9.4.0
Contributors
- Michael Migliore @Meakk
- Mathieu Westphal @mwestphal
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
v2.5.0
π£ Join our community:
F3D Community is welcoming to users and developers alike!
Ask questions, gets involved and starts contributing in a beginner-friendly environment.
β€οΈ Sponsor F3D:
F3D is looking for sponsors!
We have some expanses 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.
Much love to our sponsors for this release @parkerstafford @kidharb @Ramalama2 β€οΈ
π F3D Web
F3D is now available as a 3D web viewer!
Thanks to webassembly, you can now use F3D in the comfort of your browser.
F3D Web is a simple yet complete application based on the f3d javascript package available at https://f3d.app/web
πΌοΈ Rendering Improvements
Rendering improvements have been added!
F3D now uses Khronos' "PBR Neutral" tone mapping for nicer renderings:
Before:
Now:
You can also now specify your own custom post-processing shader for even fancier effects, using --final-shader option, here using a "negative" shader.
πΈ Screenshot
Do you use F3D interactively and wants to take a screenshot at any point?
Just press F12 and a screenshot will be saved on disk.
F3D will name and number the image so you can save many screenshots as you want but you can specify your own filename template using --screenshot-filename if you prefer.
π Complete changelog
For F3D users:
- Added a Webassembly version available online: https://f3d.app/web
- Added a "neutral" tone mapping feature
- Added an screenshot feature when pressing F12, with its dedicated option,
--screenshot-filename(thanks @snoyer!) - Added a
--final-shaderoption to customize post-processing. - Added a
--grid-coloroption to set the color of the grid - Added a
--animation-progressoption to control if the animation progress bar should be shown (thanks @spevnev!) - Added a
--backface-typeoption to control backface visibility (thanks @KeflerExe!) - Added a concept of filename template for saving screenshots and outputs (thanks @snoyer!)
- Added native menus for macOS
- Improved documentation all around (thanks @kidharb @kathleenhang @Nokse22 @vikaskok @spevnev!)
- Reworked config file logic to avoid duplicating of the default config (thanks @snoyer!)
- Fixed a long standing issue with FBX skinning animation
- Fixed zsh completion (thanks @allemangD!)
- Fixed an opacity blending issue
- Fixed a crash when dropping a HDRI while playing an animation
- Fixed a focus issue on macOS
- Fixed a high DPI issue on Windows
For libf3d users:
- Added an API to control camera pan and zoom (thanks @snoyer!)
- Added a tkinter python example (thanks @JPLost!)
- Exposed log level in the python API (thanks @snoyer!)
For F3D packagers:
- Fixed compatibility with CMake 3.29.1
- Fixed compatibility with OCCT 7_8_0
- Fixed build reproducibility by removing a path from the binary
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
Thanks to all our contributors for this release: @allemangD @snoyer @kathleenhang @shambhupatil @JPLost @KeflerExe @kidharb @vikaskok @spevnev @Meakk @mwestphal @jubalh
Credits:
- Sir Frog - Chrono Trigger by Adrian Carter
- Castel St. Angelo Roof by Andreas Mischok
- Heartfelt shader by BigWIngs
- DamagedHelmet by ctxwing and theblueturtle_
v2.5.0-RC2
v2.5.0-RC2










