---
name: "f3d"
section: "1"
platform: "linux"
package: "f3d"
version: "4.0.1-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/f3d"
---

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