Skip to content

v2.2.1

Compare
Choose a tag to compare
@mwestphal mwestphal released this 04 Oct 11:45
· 459 commits to master since this release

f3d-stripes-1920x1080@60fps-5s del

πŸ—£ 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 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.
Sponsors
Much love to our few sponsors for this release @Ramalama2 @Da3n0n @melMass ❀️

🏞️ HDRI default and performance

F3D now comes with a default HDRI! It is used to improve default lighting quality.
HDRI performance has already been improved greatly, with no wait time when changing files to visualize
and HDRI cache is being used as much as possible.
You can now turn on/off HDRI lighting and skybox using F and J bindings.

Before/After:
b
a

Note: Command line arguments for HDRI have changed, please refer to the complete changelog and the documentation.

🐍 Python API and python wheels

The libf3d python API was completely reworked in order to be more pythonic!
You can easily use libf3d in your own scripts to quickly visualize your datasets.
Create the engine, set the rendering options, load the geometry, and start the interactor or directly write the result in an image!
For example, here is how to load and interact with a model:

import f3d

eng = f3d.Engine(f3d.Window.NATIVE)
eng.options.update({
  "model.scivis.array-name": "Normals",
  "model.scivis.component": 0,
  "ui.bar": True,
  "render.grid.enable": True,
  })

eng.loader.load_geometry("f3d/testing/data/dragon.vtu")
eng.interactor.start()

See the documentation and the tests for more info.

Also, you can now easily install the libf3d using pip with:

pip install f3d

Please test this and let us know if you have any feedback, we always want to improve our python API!

πŸ“ Complete changelog

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

Thanks to all our packagers that help F3D reach a wider audience: AndnoVember @kylosus @kevinsmia1939 @yurivict @bcdarwin @svenstaro @mzf-guest
Thanks to all our contributors for this release: @lknknm @yurivict @snoyer @Meakk @mwestphal

Credits:
Battle Damaged Sci-fi Helmet - PBR by theblueturtle_, CC BY-NC
Industrial Sunset 02 (Pure Sky), by Jarod Guest and Sergej Majboroda, CC0