Reference

f3d(1)

fast and minimalist 3D viewer

NAME

F3D - fast and minimalist 3D viewer

DESCRIPTION

F3D - A fast and minimalist 3D viewer Usage:

f3d [OPTIONS...] file1 file2 ...

Applicative options:

--input <files>

Input files

-D, --define libf3d.option=value

Define libf3d options

-R, --reset libf3d.option

Reset libf3d options

--output <png file>

Render to file

--output-video <h264 file>

Render to video

--no-background [=<bool>(=1)]

No background when render to file (default: false)

--no-cache [=<bool>(=1)]

No cache is used (both reading and writing) (default: false)

-h, --help

Print help

--version

Print version details

--list-readers

Print the list of readers

--force-reader <reader>

Force a specific reader to be used, disregarding the file extension

--skip-content-check [=<bool>(=1)]

Select reader to read file without checking its header content, but only based on the file extension. (default: false)

--list-bindings [=<bool>(=1)]

Print the list of interaction bindings and exits, ignored with `--no-render`, only considers the first file group. (default: false)

--config <filePath/filename/fileStem>

Specify the configuration file to use. absolute/relative path or filename/filestem to search in configuration file locations

--no-config [=<bool>(=1)]

Do not read the configuration file (default: false)

--no-render [=<bool>(=1)]

Do not render anything and quit right after loading the first file, use with --verbose to recover information about a file. (default: false)

--load-statefile <file path>

Restore the application state from a statefile, applied above config files but below command line options. Use `-` for the standard input

--save-statefile <file path>

Save the application state to a statefile right after loading then continue, supports the same template variables as --output. Use `-` for the standard output

--statefile-filename <file path>

Default filename used by the statefile save and load interactions when no file is provided, supports the same template variables as --output. Use `-` for the standard output (save) or standard input (load)

--rendering-backend <string>

Backend to use when rendering (auto|glx|wgl|egl|osmesa) (default: auto)

--list-rendering-backends

Print the list of rendering backends available on this system

--list-video-encoders

Print the list of video encoders available on this system

--video-encoder <name>

Select the video encoder to use for output

--video-bitrate <bitrate>

Select the video bitrate in Mbps to use for output (default: 5)

--video-low-latency [=<bool>(=1)]

Enable low latency mode for video encoding (default: false)

--max-size <size in Mib>

Maximum size in Mib of a file to load, leave empty for unlimited

--dpi-aware [=<bool>(=1)]

Scale font and window resolution according to system scale (default: false)

--watch [=<bool>(=1)]

Watch current file and automatically reload it whenever it is modified on disk (default: false)

--frame-rate <fps>

Frame rate used to refresh animation and other repeated tasks (watch, UI). Does not impact rendering frame rate. (default: 30.0)

--load-plugins <paths or names>

List of plugins to load separated with a comma

--plugins-path <path>

Path specifying where to load plugins from

--scan-plugins

Scan standard directories for plugins and display available plugins (result can be incomplete)

--screenshot-filename <filename>

Screenshot filename (default: {app}/{model}_{n}.png)

General options:

--verbose [={debug, info, warning, error, quiet}(=debug)]

Set verbose level, providing more information about the loaded data in the console output (default: info)

--loading-progress [=<bool>(=1)]

Show loading progress bar (default: false)

--animation-progress [=<string>(=default)]

Animation progress bar mode ("none", "default" or "advanced") (default: none)

--multi-file-mode <single|all|dir>

Choose the behavior when opening multiple files. "single" will show one file at a time, "all" will show all files in a single scene, "dir" will show files from the same directory in the same scene. (default: single)

--multi-file-regex <regex>

Regular expression pattern to group files. Captured groups are replaced with "*" so that, for example, the pattern "part(\d+)" would group files "foo-part1.xyz" and "foo-part2.xyz" together as "foo-part*.xyz"

--recursive-dir-add [=<bool>(=1)]

Add directories recursively (default: false)

--remove-empty-file-groups [=<bool>(=1)]

Remove file groups that results into an empty scene (default: false)

--up <direction>

Up direction (default: +Y)

-x, --axis [=<bool>(=1)]

Show axes (default: false)

-g, --grid [=<bool>(=1)]

Show grid (default: false)

--x-color <color>

Color of the X axis (default: #f94306)

--y-color <color>

Color of the Y axis (default: #7aff7a)

--z-color <color>

Color of the Z axis (default: #788bff)

--grid-absolute [=<bool>(=1)]

Position grid at the absolute origin instead of below the model (default: false)

--grid-unit <value>

Size of grid unit square, automatically computed by default

--grid-subdivisions <value>

Number of grid subdivisions (default: 10)

--grid-color <color>

Color of main grid lines (default: #000000)

--grid-opacity <value>

Opacity of the grid lines (default: 1)

--grid-reflection <value>

Reflection strength of the grid (default: 0)

--axes-grid [=<bool>(=1)]

Enable grid axis (default: false)

-e, --edges [=<bool>(=1)]

Show cell edges

--armature [=<bool>(=1)]

Enable armature visualization (default: false)

--camera-index <index>

Select the camera to use

-k, --interaction-style [=<style>(=2d)]

Interaction style (default: default)

--invert-zoom [=<bool>(=1)]

Invert zoom direction with right mouse click (default: false)

--animation-autoplay [=<bool>(=1)]

Automatically start animation (default: false)

--animation-indices <index,index,index>

Select animations to show (default: 0)

--animation-speed-factor <ratio>

Set animation speed factor (default: 1)

--animation-time <time>

Set animation time to load

--font-file <file_path>

Path to a FreeType compatible font file

--font-scale <ratio>

Scale fonts (default: 1)

--font-color <color>

Set font color (default: #f4f4f4)

--backdrop-opacity <value>

UI backdrop opacity (default: 0.9)

--backdrop-color <color>

UI backdrop color (default: #141414)

--command-script <file_path>

Path to a script file containing commands to execute

--normal-glyphs [=<bool>(=1)]

Enable normal glyphs (default: false)

--normal-glyphs-scale <ratio>

Scale normal glyphs (default: 1)

Material options:

-o, --point-sprites [=<string>(=sphere)]

Select point sprites type ("none", "sphere", "gaussian", "circle", "stddev", "bound") (default: none)

--point-sprites-size <size>

Point sprites sphere size (default: 10)

--point-sprites-absolute-size [=<bool>(=1)]

Do not scale point sprites size by scene size (default: false)

--point-size <size>

Point size when showing vertices, model specified by default

--line-width <width>

Line width when showing edges, model specified by default

--backface-type <visible|hidden>

Backface type, can be visible or hidden, model specified by default

--color <color>

Solid color

--opacity <opacity>

Opacity

--roughness <roughness>

Roughness coefficient (0.0-1.0)

--metallic <metallic>

Metallic coefficient (0.0-1.0)

--base-ior <base-ior>

Index Of Refraction of the base layer (1.0-2.5)

--hdri-file <file path>

Path to an image file that can be used as a light source and skybox

-f, --hdri-ambient [=<bool>(=1)]

Enable HDRI ambient lighting (default: false)

-j, --hdri-skybox [=<string>(=enabled)]

Enable HDRI skybox background (default: disabled)

--texture-matcap <file path>

Path to a texture file containing a material capture

--texture-base-color <file path>

Path to a texture file that sets the color of the object

--texture-material <file path>

Path to a texture file that sets the Occlusion, Roughness and Metallic values of the object

--texture-emissive <file path>

Path to a texture file that sets the emitted light of the object

--textures-transform <transform2d>

3x3 matrix to transform textures

--emissive-factor <color>

Emissive factor. This value is multiplied with the emissive color when an emissive texture is present

--texture-normal <file path>

Path to a texture file that sets the normal map of the object

--checkerboard [=<bool>(=1)]

Apply checkerboard texture to objects (default: false)

--normal-scale <normalScale>

Normal scale affects the strength of the normal deviation from the normal texture

--unlit [=<bool>(=1)]

Ignore shading and make the material unlit

Window options:

--background-color <color>

Background color (default: #333333)

--resolution <width,height>

Window resolution (default: 1000, 600)

--position <x,y>

Window position

-z, --fps [=<bool>(=1)]

Display rendering frame per second (default: false)

-n, --filename [=<bool>(=1)]

Display filename (default: false)

-m, --metadata [=<bool>(=1)]

Display file metadata (default: false)

--scene-hierarchy [=<bool>(=1)]

Display the scene hierarchy widget (default: false)

--notifications [=<bool>(=1)]

Display notifications (default: false)

--hdri-filename [=<bool>(=1)]

Display hdri filename (default: false)

--blur-coc <value>

Blur circle of confusion radius (default: 20)

--light-intensity <value>

Light intensity (default: 1)

Scientific visualization options:

-s, --coloring-mode [=<material|scivis|direct>(=scivis)]

Change the color mode (default: material)

--coloring-array <array_name>

Name of the array to color with

-y, --coloring-component [=<comp_index>(=0)]

Component from the array to color with. Use magnitude if not specified

--coloring-field [=<string>(=cells)]

Use the specified field for coloring (e.g., "cells" or "points") (default: any)

--coloring-range <min,max>

Custom range for the coloring by array, automatically computed by default

-b, --coloring-scalar-bar [=<bool>(=1)]

Show scalar bar (default: false)

--colormap-file <filePath/filename/fileStem>

Specify a colormap image

--colormap-discretization <int>

Specify number of colors in colormap

--colormap <color_list>

Specify a custom colormap (ignored if "colormap-file" is specified) (default: 0,#000000,0.4,0.9,0,0,0.8,0.9,0.9,0,1,#fffff f)

--volume-opacity-map <opacity_list>

Specify a custom opacity map for volume rendering (default: 0,0,1,1)

--volume-opacity-file <filePath/filename/fileStem>

Specify a custom opacity map image for volume rendering

-v, --volume [=<bool>(=1)]

Show volume if the file is compatible (default: false)

-i, --volume-inverse [=<bool>(=1)]

Inverse opacity function for volume rendering (default: false)

Camera options:

--camera-position <X,Y,Z>

Camera position (overrides camera direction and camera zoom factor if any)

--camera-focal-point <X,Y,Z>

Camera focal point

--camera-view-up <direction>

Camera view up

--camera-view-angle <angle>

Camera view angle (non-zero, in degrees) (default: 0.0)

--camera-direction <direction>

Camera direction

--camera-zoom-factor <factor>

Camera zoom factor (non-zero) (default: 0.0)

--camera-azimuth-angle <angle>

Camera azimuth angle (in degrees), performed after other camera options (default: 0.0)

--camera-elevation-angle <angle>

Camera elevation angle (in degrees), performed after other camera options (default: 0.0)

--camera-orthographic [=<bool>(=1)]

Use an orthographic camera

Raytracing options:

-r, --raytracing [=<bool>(=1)]

Enable raytracing (default: false)

--raytracing-samples <samples>

Number of samples per pixel (default: 5)

-d, --raytracing-denoise [=<bool>(=1)]

Denoise the image (default: false)

PostFX (OpenGL) options:

-p, --blending [=<string>(=ddp)]

Select translucency blending mode ("none", "ddp", "sort", "sort_cpu" or "stochastic") (default: none)

-q, --ambient-occlusion [=<bool>(=1)]

Enable ambient occlusion providing approximate shadows for better depth perception, implemented using SSAO (default: false)

-a, --anti-aliasing [=<string>(=fxaa)]

Select anti-aliasing method ("none", "fxaa", "ssaa" or "taa") (default: none)

-t, --tone-mapping [=<bool>(=1)]

Enable Tone Mapping, providing balanced coloring (default: false)

--final-shader <GLSL code>

Execute the final shader at the end of the rendering pipeline

--display-depth [=<bool>(=1)]

Display depth buffer as grayscale image or with a colormap if "--scalar-coloring" is specified (default: false)

Testing options:

--reference <png file>

Reference

--reference-threshold <threshold>

Testing threshold (default: 0.04)

--interaction-test-record <file_path>

Path to an interaction log file to record interactions events to

--interaction-test-play <file_path>

Path to an interaction log file to play interaction events from when loading a file

EXAMPLES

f3d file.vtu -xtgans

View a unstructured mesh in a typical nice looking sciviz style

f3d file.glb -tuqap --hdri-file=file.hdr --hdri-ambient --hdri-skybox

View a gltf file in a realistic environment

f3d file.ply -o --point-size=0 --coloring-mode=direct

View a point cloud file with direct scalars rendering

f3d folder

View all files in folder

REPORTING BUGS

Report bugs to https://github.com/f3d-app/f3d/issues

F3D - A fast and minimalist 3D viewer
Version: 4.0.1.
Build date: 2026-10-31 14:33:59.
Build system: Linux 64-bits.
Compiler: GNU 16.2.1.
Module FFmpeg: OFF.
Module ImGui: ON.
Module OpenEXR: ON.
Module Raytracing: ON.
Module WebP: OFF.
VTK version: 9.7.1.
Copyright © 2019-2021 Kitware SAS.
Copyright © 2021-2025 Michael Migliore, Mathieu Westphal.
Copyright © 2025-2026 F3D-APP Foundation.
License BSD-3-Clause.

History

--ambient-occlusion since Debian 13 (Trixie); --animation-autoplay since Debian 13 (Trixie); --animation-indices since Arch Linux 2026-11-01; --animation-progress since Debian 13 (Trixie); --animation-speed-factor since Debian 13 (Trixie); --animation-time since Debian 13 (Trixie); --anti-aliasing since Debian 13 (Trixie); --armature since Debian 13 (Trixie); --axes-grid since Arch Linux 2026-11-01; --backdrop-color since Arch Linux 2026-11-01; --backdrop-opacity since Arch Linux 2026-11-01; --backface-type since Debian 13 (Trixie); --background-color since Debian 13 (Trixie); --base-ior since Arch Linux 2026-11-01; --blending since Arch Linux 2026-11-01; --blur-coc since Debian 13 (Trixie); --camera-direction since Debian 13 (Trixie); --camera-orthographic since Debian 13 (Trixie); --camera-zoom-factor since Debian 13 (Trixie); --checkerboard since Arch Linux 2026-11-01; --coloring-array since Debian 13 (Trixie); --coloring-component since Debian 13 (Trixie); --coloring-field since Arch Linux 2026-11-01; --coloring-mode since Arch Linux 2026-11-01; --coloring-range since Debian 13 (Trixie); --coloring-scalar-bar since Debian 13 (Trixie); --colormap-discretization since Arch Linux 2026-11-01; --colormap-file since Debian 13 (Trixie); --command-script since Debian 13 (Trixie); --config since Debian 13 (Trixie); --define since Debian 13 (Trixie); --display-depth since Arch Linux 2026-11-01; --dpi-aware since Arch Linux 2026-11-01; --font-color since Arch Linux 2026-11-01; --font-scale since Debian 13 (Trixie); --force-reader since Arch Linux 2026-11-01; --frame-rate since Debian 13 (Trixie); --grid-absolute since Debian 13 (Trixie); --grid-color since Debian 13 (Trixie); --grid-opacity since Arch Linux 2026-11-01; --grid-reflection since Arch Linux 2026-11-01; --grid-subdivisions since Debian 13 (Trixie); --grid-unit since Debian 13 (Trixie); --hdri-ambient since Debian 13 (Trixie); --hdri-filename since Arch Linux 2026-11-01; --hdri-skybox since Debian 13 (Trixie); --input since Debian 13 (Trixie); --interaction-style since Arch Linux 2026-11-01; --invert-zoom since Debian 13 (Trixie); --light-intensity since Debian 13 (Trixie); --list-bindings since Debian 13 (Trixie); --list-readers since Debian 13 (Trixie); --list-rendering-backends since Debian 13 (Trixie); --list-video-encoders since Arch Linux 2026-11-01; --loading-progress since Debian 13 (Trixie); --multi-file-mode since Debian 13 (Trixie); --multi-file-regex since Arch Linux 2026-11-01; --no-cache since Arch Linux 2026-11-01; --no-config since Debian 13 (Trixie); --normal-glyphs since Arch Linux 2026-11-01; --normal-glyphs-scale since Arch Linux 2026-11-01; --notifications since Arch Linux 2026-11-01; --plugins-path since Arch Linux 2026-11-01; --point-sprites-absolute-size since Arch Linux 2026-11-01; --point-sprites-size since Debian 13 (Trixie); --position since Debian 13 (Trixie); --raytracing since Arch Linux 2026-11-01; --raytracing-denoise since Arch Linux 2026-11-01; --raytracing-samples since Arch Linux 2026-11-01; --recursive-dir-add since Arch Linux 2026-11-01; --reference-threshold since Debian 13 (Trixie); --remove-empty-file-groups since Arch Linux 2026-11-01; --rendering-backend since Debian 13 (Trixie); --reset since Debian 13 (Trixie); --scan-plugins since Debian 13 (Trixie); --scene-hierarchy since Arch Linux 2026-11-01; --screenshot-filename since Debian 13 (Trixie); --skip-content-check since Arch Linux 2026-11-01; --textures-transform since Arch Linux 2026-11-01; --unlit since Arch Linux 2026-11-01; --video-bitrate since Arch Linux 2026-11-01; --video-encoder since Arch Linux 2026-11-01; --video-low-latency since Arch Linux 2026-11-01; --volume-inverse since Debian 13 (Trixie); --volume-opacity-file since Arch Linux 2026-11-01; --volume-opacity-map since Arch Linux 2026-11-01; --watch since Debian 13 (Trixie); --x-color since Arch Linux 2026-11-01; --y-color since Arch Linux 2026-11-01; --z-color since Arch Linux 2026-11-01; -D since Debian 13 (Trixie); -R since Debian 13 (Trixie); -d since Arch Linux 2026-11-01; -j since Debian 13 (Trixie); -r since Arch Linux 2026-11-01.

--animation-index until Debian 13 (Trixie); --anti-aliasing-mode until Debian 13 (Trixie); --bar until Debian 12 (Bookworm); --bg-color until Debian 12 (Bookworm); --blur-background until Debian 13 (Trixie); --cells until Debian 12 (Bookworm); --coloring-by-cells until Debian 13 (Trixie); --comp until Debian 12 (Bookworm); --depth-peeling until Debian 12 (Bookworm); --dry-run until Debian 12 (Bookworm); --fullscreen until Debian 12 (Bookworm); --fxaa until Debian 12 (Bookworm); --geometry-only until Debian 12 (Bookworm); --interaction-trackball until Debian 13 (Trixie); --inverse until Debian 12 (Bookworm); --point-sprites-type until Debian 13 (Trixie); --progress until Debian 12 (Bookworm); --quiet until Debian 12 (Bookworm); --range until Debian 12 (Bookworm); --readers-list until Debian 12 (Bookworm); --ref-threshold until Debian 12 (Bookworm); --scalar-coloring until Debian 13 (Trixie); --scalars until Debian 12 (Bookworm); --ssao until Debian 12 (Bookworm); --trackball until Debian 12 (Bookworm); --translucency-support until Debian 13 (Trixie); --verbose until Debian 12 (Bookworm); -c until Debian 13 (Trixie); -u until Debian 13 (Trixie).