π£ Join our community:
F3D Community is welcoming to users and developers alike!
Ask questions, gets involved and starts contributing in a beginner-friendly environment.
β€οΈ 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
π€ Created an Android version!
You can now use F3D on your android phone and tablet!
Just download the .apk and start viewing datasets!
π‘ Added IFC support
F3D now support .ifc format thanks to web-ifc library!
With thumbnails too of course.
π° Stream and pipe support
Integrate f3d in your complex scripting workflows seamlessly.
The libf3d is also able to read files from streams.
import sys
from build123d import Box, Cylinder, export_brep, export_step
from OCP.BRepTools import BRepTools
obj = Box(2, 2, 1) - Cylinder(0.5, 2)
BRepTools.Write_s(obj.wrapped, sys.stdout.buffer)
python script.py | f3d - --output=- | display
βοΈ Added support for many point cloud formats
View your point clouds easily easilly, .las, .laz and many more.
πͺ UI improvements
Notifications on each change: β
Scene hierarchy UI to select the part you want to show: β
Searchbar on top of the cheatsheet: β
π Complete changelog
For F3D users:
- Created an Android version
- Moved macOS binary package to macOS 14 framework.
- Added support for writing multiple images when using
--outputwith a file containing animations (thanks @noclone @snoyer !) - Added a
--display-depthoption to display the depth image (thanks @AoGao-Kedoka !) - Added a
--checkerboardoption to display a checkerboard texture to check UVs (thanks @Ni-g-3l !) - Added a
--scene-hierarchyoption and interactive bind (Shift+H) to show a hierarchy widget that let enabling/disabling actor visibility (thanks @Medyan-Naser @snoyer !) - Added a
--normal-glyphsoption to show normals as arrow glyphs (thanks @ArchiePayne !) - Added a
--notificationsoption and interactive bind (Ctrl+K) to enable/disable notifications, which shows a widget whenever an interactive bind is pressed (thanks for the prototype @davidwuluetang !) - Added a
--dpi-awareoption to rescale font automatically on HiDPI screens (Windows only) (thanks @davidwuluetang !) - Added a
webifcplugin to add support for .ifc files (thanks @noclone !) - Added a
pdalplugin to add support for many point cloud formats, including .las and .laz (thanks for the prototypes @Husamm @RealEdwardS !) - Added support for jumping to keyframes using
jump_to_keyframecommand (thanks @Ni-g-3l @CLBRITTON2 !) - Added support for CPU sorting for gaussian splat (
--blending=sort_cpu), which enable gaussian splats on macOS - Added support for images formats (.png, .jpg, .hdr, .exr, ...) (thanks @noclone !)
- Added a 2D interaction mode (
--interaction-style=2d), used by default for images (thanks @noclone !) - Added a
--font-coloroption to set the font color (thanks @JaimeNA !) - Added a
print_config_infocommand to print info about the current config file in use (thanks @atharvRsharma @NaniNoni !) - Added new arguments to
set_cameracommand:back,bottom, andleft(thanks @v999dka !) - Added stream and pipe support, eg:
cat file.glb | f3d - - Added more point sprites types, eg:
cross,circle, and more - Added support for rendering non-PBR format as PBR
- Added a searchbar on the cheatsheet (thanks @noclone !)
- Added support for f3d colors in options (eg:
f3d_white) (thanks @Prospect138 !) - Improved temporal anti aliasing performance and correctness (thanks @AoGao-Kedoka !)
- Improved shell completions by reworking the whole CLI option system (thanks @skusel !)
- Improved alembic animation performance (thanks @vincenzonetti !)
- Fixed documentation issues (thanks @skusel @snoyer @ColtonLeighton @ferdnyc !)
- Fixed a potential segfault when parsing colors in options
- Fixed a crash with certain .vrml files (thanks @iommu !)
- Fixed an issue with axes grid not properly centered on data (thanks @cuongdv-20 !)
- Deprecated
--interaction-trackballin favor of--interaction-style=trackball
For libf3d users:
- Reworked the Qt/QML example from scratch in order to make it work properly (thanks @InikOfDoom !)
- Reworked java and python binding for the
sceneaddandaddBufferAPI - Added missing interaction modifiers in examples (thanks @noclone !)
- Added an API to recover animation keyframes (thanks @Ni-g-3l !)
- Added an API to recover animation names (thanks @iommu !)
- Added (partial) exception support to the C bindings (thanks @AoGao-Kedoka !)
- Added webp support to our npm package
- Added
ui.font_coloroption to set the font color (thanks @JaimeNA !) - Added
render.effect.display_depthoption to display the depth image (thanks @AoGao-Kedoka !) - Added
model.checkerboard.enableoption to display a checkerboard texture to check UVs (thanks @Ni-g-3l !) - Added a
ui.scene_hierarchyoption to show a hierarchy widget that let enabling/disabling actor visibility (thanks @Medyan-Naser @snoyer !) - Added a
model.normal_glyphs.enableoption to show normals as arrow glyphs (thanks @ArchiePayne !) - Added a
ui.font_coloroption to set the font color (thanks @JaimeNA !) - Added a
interactor.styleoption to control interaction style, including2dmode (thanks @noclone !) - Added a
ui.notifications.enableandui.notifications.show_bindingsoptions to enable/disable notifications and bindings, which shows a widget whenever an interactive bind is pressed - Added a
ui.dpi_awareoption to rescale font automatically on HiDPI screens (Windows only) (thanks @davidwuluetang !) - Deprecated
interactor.trackballoption in favor ofinteractor.style(thanks @noclone !)
For F3D packagers:
- Updated all vendored dependencies
- Updated all external depencencies in CI and shipping system
- Added a new optional dependency:
clip, to enable withF3D_MODULE_CLIPCMake option, no effect for now - Added a new optional dependency:
web-ifc, to enable withF3D_PLUGIN_BUILD_WEBIFCCMake option, add thewebifcplugin - Added a new optional dependency:
pdal, through VTK IOPDAL module, to enable withF3D_PLUGIN_BUILD_PDALCMake option, add thepdalplugin - Fixed an issue on FreeBSD with the logic to detect exectuble using sysproc (thanks @bapt !)
For Web viewer users:
- Used the stream feature from the libf3d for drastic performance improvements
- Removed support for non-stream supporting formats
- Added .3mf and .dxf support
- Added .ifc support
Many thanks to our returning contributors for this release, they are the life of this community!
@AoGao-Kedoka @snoyer @Ni-g-3l @Medyan-Naser @ArchiePayne @skusel
Thanks to our contributors for this release!
@noclone @davidwuluetang @Husamm @RealEdwardS @CLBRITTON2 @JaimeNA @atharvRsharma @NaniNoni @v999dka @Prospect138 @vincenzonetti @ferdnyc @ColtonLeighton @InikOfDoom @bapt @iommu @cuongdv-20
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 @Saijin-Naib @bapt @UnownPlain
@UnownPlain
Credits
- ifcSampleFiles
- Table Mountain 1 HDRI by Greg Zaal and Rico Cilliers
- red-rocks_flats BSD-3-Clause : Copyright (c) 2025, Hobu, Inc.





