f3d

Fast and minimalist 3D viewer.

BSD-3-CLAUSE License

Downloads
1.7K
Stars
2.4K
Committers
38

Bot releases are hidden (Show)

f3d - v2.1.0-RC1

Published by mwestphal over 1 year ago

f3d - v2.0.0

Published by mwestphal over 1 year ago

❀️ Sponsors

F3D will always be free and open-source and we are happy to dedicate sweat and sleepless nights to this project.
We are also paying from our own pocket the maintenance cost (mainly GitHub and the website hosting).
If you appreciate F3D and you can afford it, please consider supporting the project using GitHub sponsors by clicking the button below. Of course, you can also star F3D on GitHub.
Sponsors
Much love to our few sponsors @Ramalama2 @Ninroot ❀️

πŸ’¬ Discord Server

A dedicated discord server has been created for all things related to F3D. It's the best place if you need help and discuss with the development team.
Everyone is welcome to join!
https://discord.f3d.app

πŸ”Œ Plugin Support

You can now develop your own F3D plugin to support any file format.
You can now package F3D plugins in their own package for true optional dependencies.

The libf3d SDK has been augmented to support the creation of reader plugins based on VTK readers and importers. All F3D readers have been converted to this new framework. Please read the doc.

In essence, since the plugins are loaded dynamically, it means that it is now possible to have a true optional dependency in F3D, where a plugin is available (and loaded) only when available.

Of course, it also lets developers create their own plugins to load data in F3D.

πŸ“¦ New F3D packaging system

F3D package has been reworked and now contains raytracing support.

The Packaging of F3D is now handled by the f3d-superbuild project, which let us create a nice package with correctly linked dynamic libraries instead of a single executable, which was needed to package OSPray and provide raytracing in the binary release of F3D.

It also offers great flexibility and will greatly reduce any future overhead when adding dependencies, and also globally increase the quality of F3D testing.

A side effect is that F3D package is now much bigger, so a package without raytracing is also provided for users looking for a smaller download and install.

🌍 New website

https://f3d.app

While it has been live for a while, F3D website has been completely redone from scratch and is now based on the in-situ documentation of F3D git repository. A secondary website hosting the doxygen documentation of the libf3d has also been created.

πŸ“ƒ Complete changelog

For F3D users:

  • Removed --fullscreen options completely
  • Added a --position option to set the position of the F3D window
  • Added a --light-intensity option 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, see the doc
  • PostFX option names have been changed, see the doc
  • Added an interaction (down arrow) to load all files from the directory containing the current file
  • Added a --group-geometries option to load multiple default scene file into a single render window
  • F3D is now in ArchLinux packages !

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 model options
  • Added plugin SDK to create your own plugins for any file format, see the doc.

For F3D packagers:

  • Added plugins support for true optional dependencies, see the doc.
  • Added a F3D_APPLICATION_LINK_FILESYSTEM CMake 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, see the doc
  • 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, see the doc
  • Fixed data license to use only permissive license for F3D testing data
  • Removed packaging support from F3D

And of course tons of bugfixes from our awesome community!

Thanks to all our packagers that help F3D reach a wider audience: AndnoVember @kylosus @kevinsmia1939 @yurivict @bcdarwin @svenstaro
Thanks to all our contributors for this release: @mzf-guest @CharlesGueunet @myd7349 @allemangD
Thanks to @YangShen398 for creating the first external plugin (for Abaqus).
Special thanks to @snoyer for their many contributions and valuable inputs!

By @Meakk and @mwestphal .

egg_sd

Atheistic Easter Egg by Inferix under CC-BY 4.0
Industrial Sunset 02 (Pure Sky) by Jarod Guest and Sergej Majboroda under CC0.

f3d - v2.0.0-RC3

Published by mwestphal over 1 year ago

f3d - v2.0.0-RC2

Published by mwestphal over 1 year ago

f3d - v2.0.0-RC1

Published by mwestphal over 1 year ago

f3d - Nightly

Published by mwestphal almost 2 years ago

Automatically generated nightly binary release

f3d - v1.3.1

Published by mwestphal about 2 years ago

Note: 1.3.1 fixes two minor issues regarding raytracing and macOS window positioning, the following changelog is repeated from 1.3.0 release note

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

output

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

f3d - v1.3.0

Published by mwestphal about 2 years ago

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

output

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

f3d - v1.2.1

Published by Meakk almost 3 years ago

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 poping up at each log on Windows
  • Added a .deb package 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
f3d - v1.2.0

Published by mwestphal almost 3 years ago

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 environnement integration in linux
  • Added scalar and scalar component looping

zelda_small
Model: Zelda - Breath Of The Wild by theStoff

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 --config option to select a config file to load instead of using default location
  • Added a --quiet option
  • Added --camera-azimuth and --camera-elevation options (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 (--output and --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 Developpers:

  • 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
  • dekstop 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

f3d - v1.1.1

Published by mwestphal almost 3 years ago

A patch release dedicated to package managers that makes F3D v1.1 compatible with vtk v9.1.0

Changelog

  • Fix a render pass build issue with vtk 9.1.0
  • Fix a renderer build issue with vtk 9.1.0

Contributors

  • Michael Migliore @Meakk
  • Mathieu Westphal @mwestphal
f3d - v1.1.0

Published by mwestphal almost 3 years ago

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:

How to support F3D:

Note: Binaries have no raytracing support.

Main Contributors

  • Michael Migliore @Meakk
  • Mathieu Westphal @mwestphal
f3d - v1.0.1

Published by mwestphal almost 3 years ago

Changelog

  • 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

  • Michael Migliore @Meakk
  • Mathieu Westphal @mwestphal
f3d - v1.0.0

Published by mwestphal almost 3 years ago

Changelog

  • Documentation
  • 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

  • Michael Migliore @Meakk
  • Mathieu Westphal @mwestphal
  • Helene Grandmontagne @hlngrandmontagne
  • Paul Lafoix
f3d - v0.1.1

Published by mwestphal almost 3 years ago

Changelog

  • Fixes --version and --help crash

Contributors

  • Michael Miggliore @Meakk
  • Mathieu Westphal @mwestphal
  • Joachim Pouderoux @jpouderoux
f3d - v0.1.0

Published by mwestphal almost 3 years ago

Changelog

First release! πŸŽ‰

Contributors

  • Michael Migliore @Meakk
  • Mathieu Westphal @mwestphal
  • Joachim Pouderoux @jpouderoux