Changelog
v3.3.0β
For F3D users:
- Created a F3D web application based on WebAssembly: https://f3d.app/viewer
- BEHAVIOR CHANGE: Added a CLI option
--recursive-dir-addto control if directory should be added recursively, off by default - Complete rework of the cheatsheet with for a nicer, cleaner look
- [Linux] Added support for using F3D offscreen without GLX lib being present on the system
- Added support for identifying non-supported files and not loading them at all
- Added support for skipping unsupported files when loading multiple files
- Added
--remove-empty-file-groupsto control if scene without files should be removed - Added
--watchsupport for yet-to-exists files - Added a
remove_current_file_groupcommand - Added
--axes-gridCLI option to show grid axes - Added an bind
Ctrl+Xto control the visibility of grid axes - Added proper parsing for transform2D options
- Added
--multi-file-regexCLI option to group files based on their names - Added autocompletion in interactive console
- Added a
helpcommand to print information about commands - Added support for SPZ v3 format
- Added
--backdrop-opacityto control the UI backdrop opacity - Added support for .webp image and textures
- Added support for GroupSkin for .mdl format
- Added temporal anti aliasing support
--antialiasing-mode=taa - Improve dropzone visuals
- Improved
print_scene_infooutput - Improved UI consistency
- Improved rendering performance slightly
- Reworked the website from scratch which now support documentation versioning
- Removed support for comments in interactive console for better color parsing
- Fixed and improved many documentations issues
- Fixed an issue with
--watchwhen file is failing to load - Fixed missing frame in .mdl animations
- Fixed a potential crash when graphic libraries are not found
- Fixed an issue with the scalar bar not being continuous
For libf3d users:
- Created a npm package to implement libf3d app for the web
- Added event forwarding in order to implement interactions easily with external engines
- Added
ui.drop_zone.custom_bindsoption to control the bindings visible in drop zone - Added
ui.backdrop.opacityto control the UI backdrop opacity
For F3D packagers:
- F3D does not use libglx directly anymore when using VTK > 9.5
- F3D v3.3.0 will be the last version of F3D supporting vtk v9.2.6, VTK v9.3.1 will be required for the next release
v3.2.0β
For F3D users:
- Added support for VTKHDF format, including AMR datasets
- Added support for SPZ and PLY gaussian splatting format
- Added a
--base-ioroption to control index of refraction - Added a
--multi-file-mode=diroption mode to create file groups based on the folder organization - Added spherical harmonics support for gaussian splatting (SPZ and PLY)
- Added a QuakeMDL reader option:
-DQuakeMDL.skin_indexto select skin to load - Added support for reading EXR texture in USD format
- Added support for selection multiple animations using
--animation-indices=1,2,3 - Added a
--colormap-discretizationoption to control scalar rendering discretization - Added glob support to configuration file
- Added a
--textures-transformoption to set a transform on textures - Added listing of more exodus extensions
.e,.gand.exo - Added a minimal console, open by pressing
: - Added
increase_opacityanddecrease_opacitycommands and bindings (Ctrl+PandShift+P) - Added a
--force-readeroption to select the reader to use, even with the wrong extension - Added a binding to switch verbose level by pressing
Shift+V - Added netcdf format support
- Added
elevation_cameraandazimuth_cameracommands - Added a
elevation_camerabinding (2and8) - Improved documentation
- Improved logging
- Improved camera management on special locations like looking straight down
- Changed UI style to fit with new F3D design
- Fixed multiple issues with coloring while skinning or morphing
- Fixed an issue with normals in the QuakeMDL importer
- Fixed a wobbling issue when rotating the camera
- Fixed an issue where
--verbose=quietwas not respected - Fixed multiple UI issues
- 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+Obut then selecting no files - Fixed an issue with colinear camera and Up vector
- Deprecated
--animation-indexoption
For libf3d users:
- Added
scene.animation.indicesto select multiple animations - Added
model.material.base_iorto control index of refraction - Added
model.scivis.discretizationto control scalar rendering discretization - Added
model.textures_transformto set a transform on textures - Added
scene.force_readerto force a specific reader to be used - Added streaming support to Splat reader (not exposed yet)
- Improved camera API and default values
- Improved python stubs
- Fixed
help(f3d) - Deprecated
scene.animation.indexoption
For F3D packagers:
- Fixed a missing include in vtkF3DQuakeMDLImporter
- Fixed a configuration issue against assimp 6.0
- Removed
f3d_PREFIX_DIRand rely onPACKAGE_PREFIX_DIRinstead - Renamed
F3D_PLUGIN_BUILD_EXODUSintoF3D_PLUGIN_BUILD_HDF - Added a few new VTK module dependencies
v3.1.0β
For F3D users:
- Added support for reading Quake MDL files
- Added support supersampling anti aliasing and enable it for thumbnails
- Added support for displaying metadata with assimp formats (FBX and more)
- Added support for
--upvector to be any direction - Added support for parsing color options with syntax:
#ff00ff,hsv(240 , 100% , 100%)and more - Added support for parsing direction options with syntax:
+X,-z+yand more - 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) - 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
- Added a
remove_file_groupscommand - Added
increase_opacityanddecrease_opacitycommands - Added
aliascommand to create aliases of other commands - Added support for setting and resetting libf3d options from CLI using
--defineand--reset - Added many reader specific options that can be controlled using
--define - Added PWA support to F3DWeb
- Added support for url-params in F3DWeb
- Improved documentation
- Changed report of Unset value to
Unsetinstead ofN/Ain cheatsheet - Changed dropzone to be implemented using ImGui
- Fixed an issue where scalar bar and axis displayed on top of console
- Fixed zsh completion
- Fixed multiple OBJ related loading issues
- Fixed multiple assimp related loading issues
- Fixed crashes when opening PLY files
- Fixed a crash when opening multiple USD files
- Fixed cheatsheet location
- Fixed final-shader to only be applied on VTK rendering
- Fixed an issue when using camera shortcut and then interacting
- Fixed config file location on macOS
- Fixed multiple issues where exceptions would result in errors
- Removed skip frame logic with animations after fixes in VTK
For libf3d users:
- Added parsing/formatting for
color_t - Added parsing/formatting for
direction_t - 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
For F3D plugin developers:
- Added support for reader specific options
v3.0.0β
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 - 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!
- 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 - Added support for armature visualization with
--armatureCLI option (glTF only) - Added support for keeping camera position when switching files, just press
Ctrl+Arrow - Added a ImGui based console to input commands 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
--inputCLI option - Added support for libf3d option in configuration files
- Added support for parsing option based on their type, see the doc
- Added a
--rendering-backendoption 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-bindingsCLI option - Added a
--list-rendering-backendsCLI option - Added compatibility with VFX CY2025
- Added commands to print info about scene, coloring, mesh and options
- Added command to clear the console
- Added support for expanding tilda (
~) intoHOMEwhen inputting any path - Reworked CLI option parsing to avoid parsing issues
- Improved
--list-readersCLI 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-indexand 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-indexbeing 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
--helpinvalid 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::libInformationmembers have been changed - BREAKING CHANGE:
optionsAPI has been rewritten from scratch, see the doc - 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
- 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_FILESYSTEMhas been renamedF3D_LINUX_LINK_FILESYSTEMand is now OFF by default
For F3D plugin developers:
- Added a vtkF3DImporter and vtkF3DGLTFImporter for easier subclassing
v2.5.1β
For F3D packagers:
- Added compatibility with VTK v9.4.0
v2.5.0β
For F3D users:
- Added a Webassembly version available online: https://f3d.app/viewer
- Added a "neutral" tone mapping feature
- Added an screenshot feature when pressing F12, with its dedicated option,
--screenshot-filename - 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 - Added a
--backface-typeoption to control backface visibility - Added a concept of filename template 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
v2.4.0β
For F3D users:
- Added a new option
--point-typeused to specify how to display points sprites - Added support for 3D Gaussians Splatting in binary
.splatformat - Added ability to cycle through available animations by pressing
Whotkey - 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-fileoption - 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-renderand--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.typeused to specify how to display points (only ifmodel.point-sprites.enableis true) - Added a
image::toTerminalTextmethod to print image to terminal text - Added an
imagemetadata API - Added a
vtkextmodule for plugin developer, see the documentation - 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
v2.3.0β
For F3D users:
- Added
--animation-autoplayoption (libf3d:scene.animation.autoplay) to automatically start animation on file load - Added an experimental
vdbplugin in order to read .vdb files using OpenVDB - Added an
usdplugin in order to read .usd files using OpenUSD - Added .3mf and .x files support in the
assimpplugin - Added a small margin between the model and the grid to avoid potential z-fighting
- Added VTK output to the log when using
--verbose=debugfor easier debug - Reworked the
alembicplugin 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
assimpplugin file formats - Fixed
--grid-absolutefor 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
--verboseinto a string based option, eg:--verbose=quietor--verbose=debug.--verboseis still supported. - Changed
--no-renderbehavior 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=quietinstead - Deprecated
--input, use positional argument instead
For libf3d users:
- Added
scene.animation.autoplayoption - Added a
f3d::image::saveBufferAPI 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_USDCMake option - Added a new optional dependency through VTK, OpenVDB. Enable with
F3D_PLUGIN_BUILD_VDBCMake 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
v2.2.1β
For F3D users:
- Added a native Apple Silicon release package
- Added new options
hdri-file,hdri-ambient,hdri-skyboxto 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 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
hdrioption
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.skyboxoptions. - Deprecated
render.background.hdriin favor of new options above - Deprecated previous image API
- Add
loader::loadGeometryallowing loading geometry from memory buffers
For developers:
- Added a deprecation framework
- Removed
F3D_TESTING_ENABLE_HDRI_TESTScmake option and merged it withF3D_TESTING_ENABLE_LONG_TIMEOUT_TESTS - Added a Getting Started guide for beginners developers
For F3D packagers:
- Fixed compatibility with FreeBSD
v2.1.0β
For F3D users:
- Reworked Animation support and added many animation related options
- Added
--camera-directionand--camera-zoom-factorand use it in default config file - Added
--texture-matcapoption to load a MatCap texture - Added support for opening HDRI background with Drop
- Added .exr support for HDRI and textures
- Improved HDRI caching performance
- Added a EGL headless binary release
- Added typo suggestion when failing to use the right option name
- Added
--invert-zoomoption (libf3d:interactor.invert-zoom) to invert zoom direction with right-click on mouse - Added support for keeping camera position when reloading a file with
UPkey - Added a
--grid-absoluteoption (libf3d:render.grid.absolute) to position the grid instead of being below the model - Added a "Drop Zone" when starting F3D without loading a file
- Added coloring support for STEP files in binary release
- Fixed an issue on Windows where the error window would popup even with
--quiet - Fixed an issue with 16 bit and 32 bit textures with assimp plugin
- Fixed an issue on Windows where errors where not visible
- Fixed an HDRI issue on reload
- Fixed a crash when with the progress bar on reloading a file
- Fixed an issue where certain options from config file would be ignored
- Fixed a crash with many GLTF files when an array does not have a name
- Fixed an issue where dropping a duplicate file would change the loaded file instead of not doing anything
- Fixed an issue when loading an unsupported file
- Fixed an issue with VRML files
- Improved config file for .ply files
- Improved config file regex so that they are case-insensitive
- Improved
--upoption to support no sign and better validation - Improved F3D version reporting about itself and VTK (
--version) - Improved documentation, testing, help
- Excluded TIFF format from Windows Thumbnailer
- Changed the automatic camera position to a version more close to the data
- Reduced size of binary release by a factor of two
For developers:
- Added vcpkg support for dependency installation
For F3D packagers:
- Added a
F3D_PLUGIN_OCCT_COLORING_SUPPORTCMake variable to control if this feature is compiled, default is ON - Added
SONAMEsupport - Added a
F3D_PLUGINS_INSTALL_DIRCMake variable to control where to install plugins - Added a new module:
F3D_MODULE_EXRthat depends on openexr - Added support to use external
cxxoptsand externalnlohmann-json - Fixed a link issue with VTK modules
- Fixed a
@loader_pathissue on MacOS - Added support for
CMAKE_INSTALL_*DIRvariables on installation - Added support for building against a EGL enabled VTK
- Fixed a compilation issue with VTK master
Contributors: @DeveloperPaul123 @topazus @bkmgit @snoyer @Meakk @mwestphal
v2.0.0β
For F3D users:
- Removed
--fullscreenoptions completely - Added a
--positionoption to set the position of the F3D window - Added a
--light-intensityoption and associated bindings - Improved fish and zsh completion
- Added a new interaction to center the camera on the point under the cursor using middle mouse button
- Added HDRi caching for improved performance
- Added scene bounding box to the dump interaction
- Reworked lighting for fullscene format files
- Improved grid rendering and customization greatly with new options
- Improved HDRi blur performance and customization
- Added support for reading config file directory instead of a single file
- Changed config file location on Windows
- PostFX option names have been changed
- Added an interaction (down arrow) to load all files from the directory containing the current file
- Added a
--group-geometriesoption to load multiple default scene file into a single render window
For libf3d users:
- Reworked loader API from scratch
- Fixed an issue with engine creation in the Python bindings
- Fixed an issue with image Python bindings
- Improved libf3d examples
- Added experimental javascript bindings based on webassembly/emscriptem
- Added dynamic support for all
modeloptions - Added plugin SDK to create your own plugins for any file format
For F3D packagers:
- Added plugins support for true optional dependencies
- Added a
F3D_APPLICATION_LINK_FILESYSTEMCMake option to control if F3D should link explicitly against libstdc++fs - Removed most of
F3D_INSTALL_options with the switch to a component-based approach - Removed installation of useless static libs from VTKExtensions (needs VTK master)
- Fixed RPATH of F3D for system using lib64 instead of lib
- Many CMake option name changed
- Fixed data license to use only permissive license for F3D testing data
- Removed packaging support from F3D
Contributors: @snoyer @mzf-guest @CharlesGueunet @myd7349 @allemangD @Meakk @mwestphal
v1.3.1β
- Fix raytracing support
- Fix macOS window positioning
Contributors: @mwestphal @Meakk
v1.3.0β
Main new features and fixes:
- Introducing an alpha version of the libf3d, see below for more information
- Added a --font-file option
- Added support for Alembic file format (.abc). Geometry only. Thanks a lot @nyue.
- Fixed many HDRI issues
- Fixed an important drag and drop issue on linux
Other fixes:
- Fixed many doc and UI typos
- Fixed shell completion
- Fixed multiple issue with image comparison
- Fixed an issue with --line-width and --point-size with full scene formats
- Fixed an issue with translucent object and RGBA texture
- Fixed issues with a few specific .gltf files
- Fixed a window title issue on MacOS
- Fixed multiple issues with the output window on Windows
- Fixed issues with file association and thumbnails on Windows
- Fixed a small issue with the cheatsheet not appearing in some cases
- Fixed an issue with certain .obj files
- Fixed a clipping issue when setting camera position
- Removed fullscreen hotkey
For F3D developers:
- Updated cxxopts to 3.0.0
- Now using json.hpp for parsing json config file
- Better reproducible build support
- Improved CI with coverage, sanitizer, dedicated actions for dependencies
- Complete rework of the architecture to separate F3D, the application, the libf3d (see below) and a VTKExtensions layer.
- Improved unit testing by adding test in the libf3d and VTKExtensions layer
For libf3d users:
- Introducing an alpha version of the libf3d!
- The libf3d is a C++ library to open and render 3D meshes, it is of course used by F3D and supports python bindings
- More info available in README_libf3d.md
Binary Release Information:
- The binary release is not built with raytracing support
- This binary release is built with assimp 5.1.2, animation for assimp formats is not working well
Contributors: @schuhumi @herrriehm @rafcon-dev @mzf-guest @nyue @jpouderoux @Meakk @mwestphal
v1.2.1β
Bug fixes and features:
- Fixed a build issue on MacOS
- Fixed a critical issue with the Windows Thumbnailer that could crash explorer.exe
- Fixed the --quiet option so that it actually quiets VTK errors and warnings
- Fixed an issue with output window popping up at each log on Windows
- Added a
.debpackage for Linux Debian-based distros
For Packagers:
- LFS file have been added in source code release, this seems to be retroactive, so hash of previous releases may have changed
- Flatpack org name has been fixed
Contributors: @Meakk @mwestphal @jpouderoux
v1.2.0β
Main New Features:
- Added STEP and IGES file format support thanks to @Open-Cascade-SAS /OCCT (thanks @drtrigon)
- Added FBX, DAE, OFF, and DXF file format support thanks to @assimp /assimp
- Added thumbnail support with many linux file managers
- Added thumbnail support on Windows
- Added desktop environment integration in linux
- Added scalar and scalar component looping
Other New Features:
- Added support for KHR_materials_unlit with glTF files (thanks @spiraloid)
- Added option for selecting camera
--camera-index(thanks @spiraloid) - Added coloring the to Windows error output window
- Added a man entry on Linux
- Added a
--configoption to select a config file to load instead of using default location - Added a
--quietoption - Added
--camera-azimuthand--camera-elevationoptions (thanks @tatsuya-s) - Added a metainfo.xml file (thanks @kevinsmia1939)
Issue Fixes:
- Fixed an issue with opening files with accented char in the name on Windows (thanks @shankarsivarajan)
- Fixed HDRI orientation with --up option (thanks @truhlikfredy)
- Fixed an issue with point cloud rendering
- Fixed a crash on exit on Windows
- Fixed an issue with fullscreen window size on Windows
- Fixed offscreen rendering (
--outputand--ref) to actually use offscreen rendering - Fixed a memory leak when no rendering is performed (thanks @CharlesGueunet)
- Fixed a rendering issue with certain GPU drivers
- Fixed tone mapping with background opacity
- Fixed non-working drag and drop implementation in VTK (thanks @msbit)
- Fixed a potential sorting issue when opening a folder
- Fixed a crash with unsupported glTF files in VTK
For Developers:
- Full rework of the CI framework, including coverage report support
- Full rework of the testing framework
- Separation of vtkF3DRenderer in two classes
- Separation of f3d executable into a libf3d library and f3d executable to support windows thumbnails
For Packagers:
- New CMake options to select file to install, all documented and starting with F3D_
- mime types file can be installed, make sure to trigger update-mime-databse
- desktop file can be installed, make sure to trigger update-desktop-database
Packagers: AndnoVember @jokersus @kevinsmia1939 @yurivict @bcdarwin @mzf-guest @Meakk @mwestphal
Binary Release Information:
- The binary release is not built with raytracing support
- This binary release is built with assimp 5.1.2, animation for assimp formats is not working well
Contributors: @CharlesGueunet @kevinsmia1939 @mzf-guest @jpouderoux @Meakk @mwestphal
v1.1.1β
A patch release dedicated to package managers that makes F3D v1.1 compatible with vtk v9.1.0
- Fix a render pass build issue with vtk 9.1.0
- Fix a renderer build issue with vtk 9.1.0
Contributors: @Meakk @mwestphal
v1.1.0β
New Important Features:
- Added direct scalars color rendering mode, see doc.
- Added a turntable interactor and made it default. The previous interactor can still be used using a dedicated option. Thanks @orangebowlerhat @filip.sund and @jjomier for your suggestions.
- Added animation support for glTF and Exodus files. Press space for playing the animation.
- Added animation related option, --animation-index, only for glTF when using the full scene.
New Readers and format compatibility features:
- Added skinning and morphing support with glTF files.
- Added TIFF format support. Thanks @proudot for your suggestion.
- Added exodus format support. Thanks @gvernon for your suggestion.
- Added support for OBJ with color directly inside of it instead of using a .mtl file. Thanks @Chenge321 for your suggestion.
Quality of life features:
- Added a hotkey (UP) to reload current file, thanks @caioaao.
- Improved Alpha blending performance, thanks @paul.lafoix.
- Changed the progress bar to a more nice looking one and made it appears only if loading takes time. Thanks @finetjul for the suggestion.
- Improved logging mechanism with color on all OS and a dedicated output window on windows.
- Added a warning when using RayTracing but it is not available.
Fixes:
- Fixed an issue with skybox and edges.
- Fixed a crash when an array had no name.
- Fixed a window naming issue on OSX.
- Fixed a symlink issue.
- Fixed a coloring issue with dataset containing only cell data.
Packaging:
- Upgraded the AUR f3d package to 1.1.0 : https://aur.archlinux.org/packages/f3d.
- Added a Brew f3d 1.1.0 package : https://formulae.brew.sh/formula/f3d.
- FreeBSD now contains a f3d 1.1.0 package, thanks to yuri@freebsd.org.
- NixOS now contains a f3d package, 1.1.0 should come soon, thanks to bcdarwin@gmail.com.
How to support F3D:
- Use the software.
- Share it with anyone interested.
- Star us on github: https://github.com/kitware/F3D.
Note: Binaries have no raytracing support.
Contributors: @Meakk @mwestphal
v1.0.1β
- VisualStudio Runtime is now included into the windows release
- Ensure VTK compatibility
- Improve STL binary reader performances
- Fix default configuration issues
- Add support for Window icon on all OSes
Note: Binaries have no raytracing support.
Contributors: @Meakk @mwestphal
v1.0.0β
- Documentation
- Online documentation based on Hexo (https://kitware.github.io/F3D/)
- Rendering
- Add volume rendering for 3D images
- HDRI support (skyboxes, HDR files, Filmic tone mapping)
- Point sprites for displaying point clouds
- Color map customization (default one changed to βinfernoβ)
- Interface
- Drag&Drop files support
- Supports opening of several files (or folder), use left/right arrow to navigate
- Scalars field handling improvements
- Cheat Sheet
- Interactive hotkeys have been reworked
- File association on Windows and OSX
- Fullscreen mode
- No background mode (useful when saving image to a PNG file with alpha channel)
- Command line
- Camera configuration
- Metadata (field data) display
- File name display
- No render mode (useful to read information in the file)
- Shell completion (supports bash, zsh, fish)
- New readers
- CityGML
- PTS
- Packages
- Default config provide
Note: Binaries have no raytracing support.
Contributors: @Meakk @mwestphal @hlngrandmontagne Paul Lafoix
v0.1.1β
- Fixes
--versionand--helpcrash
Contributors: @Meakk @mwestphal @jpouderoux
v0.1.0β
First release!
Contributors: @Meakk @mwestphal @jpouderoux