Skip to content

Releases: f3d-app/f3d

v3.4.1

08 Jan 11:36
7b221b2

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 open source and needs your support!
Many thanks to all our one time sponsors!
Much love to our monthly sponsors for this release ❤️
NGIZeroCore | LambdaTest-Inc | OpenDroneMap
@jgod @exbluesbreaker @parkerlreed @Saijin-Naib @CriticalPoint

⚗️ New Alembic Features!

F3D is now able to read Xform animations and Curves from the alembic format!

Image

🇨 C bindings

The libf3d now have C bindings for complete intercompatibility
with other languages:
https://f3d.app/docs/next/libf3d/LANGUAGE_BINDINGS#c

Here is a quick prototype of Julia binding that uses the libf3d C bindings:
https://github.com/joa-quim/F3D.jl

🔃 Complete examples

We now have libf3d examples for:

  • C bindings
  • Python bindings
  • Java bindings
  • C++ bindings with multiple usecase
  • FLTK
  • Qt6
  • QML

See how easy it is to create your own app using the libf3d!

  // Load static/native plugins
  f3d::engine::autoloadPlugins();

  // Create a native-window engine
  f3d::engine eng = f3d::engine::create();

  // Modify options using the struct API
  f3d::options& opt = eng.getOptions();
  opt.render.grid.enable = true;
  opt.render.show_edges = true;

  // UI overlays: axis + some HUD
  opt.ui.axis = true;
  opt.ui.fps = true;
  opt.ui.animation_progress = true;
  opt.ui.filename = true;

  // FXAA + tone mapping
  opt.render.effect.antialiasing.enable = true;
  opt.render.effect.antialiasing.mode = "fxaa";
  opt.render.effect.tone_mapping = true;

  ::AddCustomCommands(eng);
  ::AddCustomBindins(eng);

  try 
  {
    // Add a model to the scene
    eng.getScene().add(file);
  }
  catch (const std::exception& e)
  {
    std::cerr << e.what() << '\n';
  }

  // Start interaction loop
  eng.getInteractor().start();

📝 Complete changelog

For F3D users:

  • BEHAVIOR CHANGE: Changed the behavior of gaussian point sprites, it now require the use of --point-sprites-absolute-size
  • BEHAVIOR CHANGE: Changed the default configuration for alembic to NOT display scalar by default
  • Added a CLI option to control if point sprites should be scaled or not: --point-sprites-absolute-size
  • Added HDRI filename display CLI option and interaction (Shift+N) (thanks @exbluesbreaker !)
  • Added progress support to QuakeMDL importer (thanks @Hy-LeTuan !)
  • Added point sprites modes switch interaction (O)
  • Added console auto completion for all libf3d options with a domain and filepath (thanks @skusel !)
  • Added support for Alembic XForm animation (thanks @Ni-g-3l !)
  • Added an interaction to play animation backward: Ctrl+Shift+Space (thanks @Ni-g-3l !)
  • Added a console command to play animation backward: toggle_animation_backward (thanks @Ni-g-3l !)
  • Added support for importing Alembic file with curves (thanks @Ni-g-3l !)
  • Added a jump_to_frame command (thanks @Ni-g-3l !)
  • Added axes and grid color configuration with a CLI option --x/y/z-color (thanks @snoyer @vincenzonetti !)
  • Added proper support for composite data (thanks @noclone !)
  • Added an interaction to change the up direction Ctrl+Y and Ctrl+Z and dynamic up support (thanks @noclone !)
  • Improved the documentation on https://f3d.app (thanks @pravvvv @ArchiePayne @Ni-g-3l )
  • Improved style of progress and animation bar to fit F3D style (thanks @Ni-g-3l !)
  • Improved color logging (thanks @snoyer !)
  • Reduced VRAM usage of antialiasing and HDRI rendering
  • Fixed an issue where the camera would reset after volume rendering (thanks @exbluesbreaker !)
  • Fixed multiple issue with temporal anti-aliasing
  • Fixed an issue with parsing none CLI options
  • Fixed small issues with the event loop
  • Fixed a blending issue with external rendering context
  • Fixed an issue with display of Ctrl+Shift+ bindings (thanks @Ni-g-3l !)
  • Fixed many memory issues in QuakeMDL reader (thanks @iommu !)
  • Fixed an issue with elevation and azimuth options (thanks @snoyer !)
  • Fixed a small display issue in the cheatsheet
  • Deprecated --anti-aliasing-mode in favor of simply --anti-aliasing
  • Deprecated --point-sprites-type in favor of simply --point-sprites
  • MacOS: Fixed a native window focus issues (thanks @arcticsixxx !)
  • MacOS: Added a native file menu (thanks @arcticsixxx !)

For libf3d users:

  • Added HDRI filename display option ui.hdri_filename (thanks @exbluesbreaker !)
  • Added an option to control if point sprites should be scaled or not model.point_sprites.absolute_size
  • Added x/y/z axis color options ui.x/y/z_color to control the color of the axis widget and grid (thanks @snoyer @vincenzonetti !)
  • Added a interactor::requestStop API for asynchronous loop stopping (thanks @snoyer !)
  • Added a log API to forward log instead of displaying them
  • Added C bindings (thanks @noclone !)
  • Fixed potential crash when using interactor::trigger* methods (thanks @Samarthi !)
  • python: Added many libf3d usage examples (thanks @noclone !)
  • python: Removed Python 3.9 wheel support
  • python: Fixed stubs for better auto completion (thanks @snoyer !)
  • python: Fixed multiples tests that were not run (thanks @snoyer !)
  • python: Fixed an issue when setting a double option from ints (thanks @snoyer !)
  • python: Created a dedicated helper repository: https://github.com/f3d-app/python-f3d-extras (maintained by @snoyer !)
  • wasm: Added typescript support
  • java: Improved the bindings to cover almost the whole API (thanks @noclone !)
  • examples: Completely reworked the examples with new and details examples in C++ (thanks @noclone !)
  • examples: Added a complete Qt6 examples (thanks @noclone !)
  • examples: Added a complete Qml examples (thanks @noclone !)
  • examples: Added a complete Fltk examples (thanks @noclone !)
  • examples: Added C example (thanks @noclone !)
  • examples: Added Java example (thanks @noclone !)

For F3D packagers:

  • Removed compatibility with VTK <= v9.2.6. VTK v9.3.0 is the new minimum version.
  • Added F3D_BINDINGS_C CMake option to build the C bindings, no dependencies

For Web viewer users:

  • Added support for gaussian splatting
  • Added console support
  • Improved color theme

Many thanks to our returning contributors for this release, they are the life of this community!
@exbluesbreaker @skusel @Ni-g-3l @snoyer @ArchiePayne

Thanks to our contributors for this release!
@Hy-LeTuan @vincenzonetti @iommu @arcticsixxx @Samarthi @pravvvv

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 @Saijin-Naib

Credits

  • Hairy Monkey by @Ni-g-3l
  • Cave Wall HDR by Greg Zaal

Nightly

10 Dec 20:01
65f3b68

Choose a tag to compare

Nightly Pre-release
Pre-release

Automatically generated nightly binary release

v3.4.1-RC1

07 Jan 15:40
e74048e

Choose a tag to compare

v3.4.1-RC1 Pre-release
Pre-release
v3.4.1-RC1

v3.4.0

05 Jan 21:36
bb0702a

Choose a tag to compare

Please use v3.4.1

v3.4.0-RC2

03 Jan 21:24
b911ac9

Choose a tag to compare

v3.4.0-RC2 Pre-release
Pre-release
v3.4.0-RC2

v3.4.0-RC1

02 Jan 12:07
9781171

Choose a tag to compare

v3.4.0-RC1 Pre-release
Pre-release
v3.4.0-RC1

v3.3.0

22 Oct 15:11
7e1246f

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 open source and needs your support!
Much love to our sponsors for this release ❤️
NGIZeroCore | LambdaTest-Inc | OpenDroneMap
@jgod @exbluesbreaker @parkerlreed @Saijin-Naib @CriticalPoint @Ramalama2

🌐 New Website

We just published a new website with versionned documentation, a new slick design and even a blog!
Please check it out: https://f3d.app

Image

📦 Web 3D viewer

Our web viewer just released! https://f3d.app/viewer
You can even build you own web based viewer thanks to our npm package:
https://www.npmjs.com/package/f3d

Image

🔘 UI improvements

We just keep improving the UI!
Check out the new cheatsheet with a nice responsive design, as well as autocompletion in the
interactive console.

Image

📝 Complete changelog

For F3D users:

  • Created a F3D web application based on WebAssembly: https://f3d.app/viewer
  • BEHAVIOR CHANGE: Added a CLI option --recursive-dir-add to control if directory should be added recursively, off by default
  • Complete rework of the cheatsheet with for a nicer, cleaner look (thanks @Ni-g-3l !)
  • [Linux] Added support for using F3D offscreen without GLX lib being present on the syste
  • 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-groups to control if scene without files should be removed
  • Added --watch support for yet-to-exists files
  • Added a remove_current_file_group command
  • Added --axes-grid CLI option to show grid axes (thanks @ArchiePayne !)
  • Added an bind Ctrl+X to control the visibility of grid axes (thanks @YashSaini99 !)
  • Added proper parsing for transform2D options (thanks @samoncrief !)
  • Added --multi-file-regex CLI option to group files based on their names (thanks @snoyer !)
  • Added autocompletion in interactive console
  • Added a help command to print information about commands
  • Added support for SPZ v3 format (thanks @Ni-g-3l !)
  • Added --backdrop-opacity to control the UI backdrop opacity (thanks @armoredvortex !)
  • Added support for .webp image and textures
  • Added support for GroupSkin for .mdl format (thanks @yashnator !)
  • Added temporal anti aliasing support --antialiasing-mode=taa (thanks @AoGao-Kedoka !)
  • Improve dropzone visuals (thanks @Medyan-Naser !)
  • Improved print_scene_info output (thanks @snoyer !)
  • Improved UI consistency (thanks @Ni-g-3l !)
  • Improved rendering performance slightly
  • Reworked the website from scratch which now support documentation versionning (thanks @mariami-zedginidze @snoyer @Ni-g-3l @chirag-droid !)
  • Removed support for comments in interactive console for better color parsing (thanks @Ni-g-3l !)
  • Fixed and improved many documentations issues (thanks @snoyer )
  • Fixed an issue with --watch when file is failing to load
  • Fixed missing frame in .mdl animations (thanks @yashnator !)
  • Fixed a potential crash when graphic libraries are not found
  • Fixed an issue with the scalar bar not being continuous (thanks @rrhxde !)

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_binds option to control the bindings visible in drop zone (thanks @Medyan-Naser !)
  • Added ui.backdrop.opacity to control the UI backdrop opacity (thanks @armoredvortex !)

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

Many thanks to our returning contributors for this release, they are the life of this community!
@samoncrief @Ni-g-3l @Medyan-Naser @snoyer

Thanks to our contributors for this release!
@ArchiePayne @YashSaini99 @armoredvortex @yashnator @AoGao-Kedoka @mariami-zedginidze @chirag-droid @rrhxde

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 @Saijin-Naib

Credits

v3.3.0-RC6

22 Oct 05:51
55deed9

Choose a tag to compare

v3.3.0-RC6 Pre-release
Pre-release
v3.3.0-RC6

v3.3.0-RC5

21 Oct 13:37
ea08598

Choose a tag to compare

v3.3.0-RC5 Pre-release
Pre-release
v3.3.0-RC5

v3.3.0-RC4

21 Oct 10:04

Choose a tag to compare

v3.3.0-RC4 Pre-release
Pre-release
v3.3.0-RC4