Limitations
Here is a non exhaustive list of F3D limitations:
- No support for specifying manual lighting in the default scene apart from using
--light-intensity
option. - Multiblock (.vtm, .gml) support is partial, non-surfacic data will be converted into surfaces.
- Drag and drop interaction cannot be recorded nor played back.
- Volume rendering and HDRI support requires a decent GPU.
- The
--camera-zoom-factor
option require VTK >= 9.3.0 - Information about the failure to load a file is not provided before VTK >= 9.4.0
Assimp
FBX, DAE, OFF, DXF, X and 3MF file formats rely on Assimp library. It comes with some known limitations:
- PBR materials are not supported for FBX file format.
- Complex animations are not working very well with Assimp 5.1, it’s recommended to use Assimp 5.0 for this use case.
- Only one animation can be shown at a time, showing all animations is not supported yet.
- Some files can be empty, crash, or show artifacts.
- DXF support is very limited: only files with polylines and 3D faces are displayed.
- 3MF files may crash at exit (issue in Assimp: https://github.com/assimp/assimp/issues/5328)
- Only support RBGA 8-bits embedded textures
Alembic
ABC file formats rely on Alembic library. It comes with some known limitations:
- Supports only simple polygonal geometry.
- Does not support ArbGeomParam feature in Alembic.
- Does not support Subdivision Meshes.
- Does not support Materials.
- Does not support Animations.
USD
USD file formats rely on OpenUSD library. It comes with some known limitations:
- Skinning is slow and baked on the CPU.
- Does not support Face-varying attributes.
- The
usd
plugin is not shipped in the python wheels yet.
VDB
VDB file formats rely on OpenVDB and VTK libraries. It currently comes with some known limitations:
- VDB Grid files are opened with a hard-coded 0.1 sampling rate.
- The
vdb
plugin is not shipped in the python wheels yet.
Gaussian splatting
Gaussian splatting (option --point-sprites-type=gaussian
) needs depth sorting which is done internally using a compute shader. This requires support for OpenGL 4.3 which is not supported by macOS and old GPUs/drivers.
Troubleshooting
General
I have built F3D with raytracing support but the denoiser is not working.
Make sure that VTK has been built with OpenImageDenoise support (VTKOSPRAY_ENABLE_DENOISER
option).
My model shows up all wrong, with inverted surfaces everywhere.
Your data probably contains some translucent data for some reason, turn on translucency support by pressing P
or using the -p
command line option.
Linux
I have a link error related to
stdc++fs
not found.
With some C++ STD library version, explicit linking to stdc++fs
is not supported. We provide a CMake option F3D_LINUX_APPLICATION_LINK_FILESYSTEM
that you can set to OFF
to workaround this issue.
I have a link error related to undefined reference to symbol of
libatomic
.
The GCC flag -latomic
is not being added automatically with specific architectures, like armel
and RISCV64
. We provide a CMake option F3D_LINUX_LIBRARY_LINK_ATOMIC
that you can set to ON
to workaround this issue.
Thumbnails are not working in my file manager.
- Check that your file manager supports the thumbnailer mechanism.
- Check that you have updated your mime type database.
- If all fails, remove your
.cache
user dir and check thatpcmanfm
thumbnails are working. - If they are working, then it is an issue specific to your file manager (see below for a potential work around).
- If only a few format have working thumbnails, then it is an issue with the mime types database.
- If no formats have working thumbnails, then it is can be an issue with sandboxing or with the
f3d-plugin-xxx.thumbnailer
files. - If only big file do not have thumbnails, this is intended, you can modify this behavior in the
thumbnail.d/10_global.json
configuration folder using themax-size
option.
--rendering-backend
CLI option is not working as expected
Dynamically switching rendering backend require VTK 9.4.0, you may need to update VTK or to use our binary release.
Windows
Using the portable binary release, I’m unable to run F3D because Windows warns about a security risk
F3D is not signed by Microsoft yet so Windows shows this warning. Just click on the “more” button to be able to run F3D.
After installing F3D or registering the shell extension, my explorer is broken.
Unregister the shell extension by running:
cd C:\path\to\f3d\bin\
regsvr32 /u F3DShellExtension.dll
I use F3D in a VM, the application fails to launch.
OpenGL applications like F3D can have issues when launched from Windows Server or from a guest Windows because the access to the GPU is restricted. You can try to use a software implementation of OpenGL, called Mesa.
- Download the latest
release-msvc
. - copy
x64/opengl32.dll
,libgallium_wgl.dll
andx64/libglapi.dll
in the same folder asf3d.exe
. - set the environment variable
MESA_GL_VERSION_OVERRIDE
to 4.5. - run
f3d.exe
.
I run f3d from the command prompt and my Unicode characters are not displayed properly.
Set the codepage to UTF-8, run chcp 65001
.
When I install F3D, I can’t add F3D to the path and the installer complains that:
PATH too long installer unable to modify PATH!
.
There are too many entry in your PATH environment variable, remove the ones you do not use.
When I try to update F3D, the installer fails with:
Error opening file for writing: F3DShellExtension.dll
Your previous F3D installation is current being used to generate thumbnails, wait for a bit or reboot your computer before updating again.
macOS
I’m unable to use the binary release, macOS complains the file is invalid or corrupted
Our macOS binary package are not signed, to work around this, you can simply run the following command:
xattr -cr /Applications/F3D.app
Then F3D should work as expected.
Python
I can’t find
usd
andvdb
plugins after installing f3d with pip
The usd
and vdb
plugins are not shipped in the python wheels for now, you can compile F3D yourself with them though.
Raytracing does not work after installing f3d with pip
F3D raytracing feature is not shipped in the python wheels for now, you can compile F3D yourself with it though.