F3d

Latest version: v3.0.0

Safety actively analyzes 722631 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

3.0.0

For F3D users:

- BREAKING CHANGE: [Configuration files](https://f3d.app/doc/user/CONFIGURATION_FILE.html) 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`
- 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](https://f3d.app/doc/user/COMMANDS.html) 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!
- Reworked the UI using ImGui
- Added support for specifying interactions in config files, [see doc](https://f3d.app/doc/user/CONFIGURATION_FILE.html#bindings)
- Added a `--command-script` CLI option
- Added a tiny file dialog, just press `Ctrl+O`
- Added support for armature visualization with `--armature` CLI option (glTF only)
- Added support for keeping camera position when switching files, just press `Ctrl+Arrow`
- Added a ImGui based console to input [commands](https://f3d.app/doc/user/COMMANDS.html) by pressing `Esc`
- Added a "Save minimal screenshot" interaction by pressing `Shift+F12`
- Added error reporting when loading a file failed for some reason
- Added missing config file for .brep files
- Added support for .xbf files
- Added `--input` CLI option
- Added support for libf3d option in configuration files
- Added support for parsing option based on their type, see [the doc](https://f3d.app/doc/user/PARSING.html)
- Added a `--rendering-backend` option to select the rendering backend, including headless
- Added an interaction to rotate camera 90 degrees by pressing 4/6
- 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](https://vfxplatform.com/)
- Added commands to print info about scene, coloring, mesh and options
- Added command to clear the console
- 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
- Improved image comparison algorithm
- Improved options suggestion in the command line
- Improved many features in F3DWeb as well as adding OCCT and Draco support
- Improved the webassembly bindings
- Improved the documentation
- Improved python bindings
- Improved startup performance
- Improved scalar range handling with animation
- Fixed a crash when opening a glTF file with no textures
- Fixed an option priority issue with `--help`
- Fixed a crash with invalid `--animation-index` and assimp
- Fixed an issue where the window displayed an empty filename
- 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
- Fixed an issue when loading a time value outside of the range
- Fixed issues with screenshot templating
- Fixed an issue with grid rendering on main axes
- Fixed an issue where color-bar would show when not needed
- Fixed an issue with glTF file using URI
- Fixed `--help` invalid output
- 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
- 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
- Added support for python 3.13
- Fixed an issue with instanciang multiple engines
- 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

2.5.1

For F3D packagers:

- Added compatibility with VTK v9.4.0

2.5.0

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`
- Added a `--final-shader` option to customize post-processing.
- Added a `--grid-color` option to set the color of the grid
- Added a `--animation-progress` option to control if the animation progress bar should be shown
- Added a `--backface-type` option to control backface visibility
- Added a concept of filename [template](https://f3d.app/doc/user/OPTIONS.html#filename-templating) for saving screenshots and outputs
- Added native menus for macOS
- Improved documentation all around
- Reworked config file logic to avoid duplicating of the default config
- Fixed a long standing issue with FBX skinning animation
- Fixed zsh completion
- 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
- Added a tkinter python example
- Exposed log level in the python API

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

2.4.0

For F3D users:

- Added a new option `--point-type` used to specify how to display points sprites
- Added support for 3D Gaussians Splatting in binary `.splat` format
- Added ability to cycle through available animations by pressing `W` hotkey
- Added display of current animation name within cheatsheet
- Added orthographic camera projection option (`--camera-orthographic`) and binding (`5`)
- Added proper continuous integration for MacOS ARM64
- Added support for glTF Draco encoded file
- Added support for dark title bar on Windows
- Added support for colormap presets, using `--colormap-file` option
- Added a option to reload file automatically when changed on disk (`--watch`)
- Added support for streaming output images to stdout, using `-` filename
- Added animation support to Alembic plugin
- Improved OCCT plugin (STEP and IGES files) performance drastically
- Improved config file parsing so that it is parsed in file order
- Fixed an issue with blur circle of confusion
- Fixed an issue with the grid being clipped
- Fixed an issue with STEP file coloring
- Fixed an issue when time range was not starting at zero
- Fixed an issue when record file does not exist
- Fixed an issue when using `--no-render` and `--hdri`
- Fixed an issue with the Windows thumbnailer with process never properly killed
- Fixed an issue where OCCT would output to terminal
- Fixed an issue with FISH completion

For libf3d users:

- Added a new option `model.point-sprites.type` used to specify how to display points (only if `model.point-sprites.enable` is true)
- Added a `image::toTerminalText` method to print image to terminal text
- Added an `image` metadata API
- Added a `vtkext` module for plugin developer, see the [documentation](https://f3d.app/doc/libf3d/PLUGINS.html)
- Added a new f3d component to find_package of, `pluginsdk`, require to build plugins against F3D

For F3D packagers:

- Added a CMake report at the end of configuration
- Added a new cmake installation component, `plugin_sdk`, needed to compile external plugin against F3D
- Added a new cmake installation component, `colormaps`, needed for the colormap feature
- Fixed multiple issue with static (`BUILD_SHARED_LIBS=OFF`) build
- Fixed a compilation issue with gcc14
- Fixed a compilation issue with OCCT 7.8.0

2.3.0

For F3D users:

- Added `--animation-autoplay` option (libf3d: `scene.animation.autoplay`) to automatically start animation on file load
- Added an experimental `vdb` plugin in order to read .vdb files using OpenVDB
- Added an `usd` plugin in order to read .usd files using OpenUSD
- Added .3mf and .x files support in the `assimp` plugin
- Added a small margin between the model and the grid to avoid potential z-fighting
- Added VTK output to the log when using `--verbose=debug` for easier debug
- Reworked the `alembic` plugin to read Texture Coordinates and Normals for .abc files
- Improved the reading of EXR files using multi-threading for better performance when loading HDRIs
- Improved the documentation on https://f3d.app
- Improved general logging in order to make it easier to understand issues with file and options
- Fixed potential crashes when reading `assimp` plugin file formats
- Fixed `--grid-absolute` for off-center models
- Fixed an issue with thumbnail generation showing the log window
- Fixed many interaction issues on non-Qwerty keyboard layout
- Fixed handling of filenames containing commas
- Fixed an issue on Windows where the log window would appear on top of F3D window
- Fixed crashes with specific .obj file
- Fixed an issue with incorrect return code when using headless mode or incorrect options
- Fixed dependency issue with the headless .deb binary release
- Fixed a crash when using a file with more than 254 bones (Requires OpenGL 4.3)
- Fixed an issue with Unicode filenames on the title bar on Windows
- Fixed an issue where focal point picking would generate error messages
- Changed `--verbose` into a string based option, eg: `--verbose=quiet` or `--verbose=debug`. `--verbose` is still supported.
- Changed `--no-render` behavior so that it doesn't impact verbosity anymore
- Changed the default configuration file so that translucency support is enabled by default
- Deprecated `--quiet`, use `--verbose=quiet` instead
- Deprecated `--input`, use positional argument instead

For libf3d users:

- Added `scene.animation.autoplay` option
- Added a `f3d::image::saveBuffer` API to save an image as a file format in memory
- Fixed the default name of the window

For F3D packagers:

- Added a new optional dependency, OpenUSD. Enable with `F3D_PLUGIN_BUILD_USD` CMake option
- Added a new optional dependency through VTK, OpenVDB. Enable with `F3D_PLUGIN_BUILD_VDB` CMake option
- Added a new CMake option to control the link against libatomic. Control with `F3D_LINUX_LIBRARY_LINK_ATOMIC`
- Added two new packages to the list, OpenMandriva and Mageia

2.2.1

For F3D users:

- Added a native Apple Silicon release package
- Added new options `hdri-file`, `hdri-ambient`, `hdri-skybox` to have more control on the HDRI behavior
- Added a default HDRI used when providing no `hdri-file`
- Added bindings to toggle HDRI ambient lighting (`F`) and HDRI skybox (`J`)
- Added bindings to move the camera to standard locations: `1`: Front, `3`: Right, `7`: Top, `9`: Isometric
- Added [Open CASCADE BRep format](https://dev.opencascade.org/doc/overview/html/specification__brep_format.html) to the OCCT plugin.
- Fixed an infamous issue when the Windows thumbnailer always steal the focus
- Fixed an issue with the binary release when opening draco files
- Fixed an issue with matcap textures
- Fixed an issue with HDRI lighting
- Fixed an issue with HDRI lighting when dropping HDRI after a model
- Fixed an issue where invalid option would not show on Windows
- Fixed an issue where previously loaded file would stay visible
- Fixed an issue when loading invalid EXR file as HDRI
- Fixed cheatsheet menu rendering under 'Drop File Instructor'
- Fixed raytracing rendering issues
- Improved cheatsheet menu contrast for any background color
- Improved overall text contrast for any background color
- Improved performance when changing model and using a HDRI
- Improved HDRI cache performance
- Deprecated `hdri` option

For libf3d users:

- Reworked image API to support many file formats to read (EXR, HDR) and write (PNG, JPG, TIF, BMP)
- Added `render.hdri.file`, `render.hdri.ambient`, `render.background.skybox` options.
- Deprecated `render.background.hdri` in favor of new options above
- Deprecated previous image API
- Add `loader::loadGeometry` allowing loading geometry from memory buffers

For developers:

- Added a deprecation framework
- Removed `F3D_TESTING_ENABLE_HDRI_TESTS` cmake option and merged it with `F3D_TESTING_ENABLE_LONG_TIMEOUT_TESTS`
- Added a Getting Started guide for beginners developers

For F3D packagers:

- Fixed compatibility with FreeBSD

Page 1 of 3

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.