F3D(1)
π¦ F3D β NAME π¦
okay bestie, gather round, because this is the F3D(1) manual page and it's literally the user-commands one π
F3D β fast and minimalist 3D viewer β¨
πΈ DESCRIPTION πΈ
F3D β A fast and minimalist 3D viewer. Usage, and I'm gonna give it to you raw because that's just how it is:
f3d [OPTIONS...] file1 file2 ...
so yeah, options first, then however many files you want, no cap π«Ά
π Applicative options
like, the main character options. the ones that actually do the big stuff π
--input <files>β the actual input files, bestie. the whole point π¦-D,--define libf3d.option=valueβ define libf3d options, go set 'em β¨-R,--reset libf3d.optionβ reset libf3d options, undo era π--output <png file>β render to a file, png style π--output-video <h264 file>β render to a video, h264 style π₯--no-background [=<bool>(=1)]β no background when you render to file (default:false) π--no-cache [=<bool>(=1)]β no cache is used, and I mean both reading and writing (default:false) π-h,--helpβ print help, the classic π«Ά--versionβ print version details, iykyk β--list-readersβ print the list of readers π--force-reader <reader>β force a specific reader to be used, straight up disregarding the file extension. rude but iconic π--skip-content-check [=<bool>(=1)]β select a reader to read the file without checking its header content, only based on the file extension (default:false) π--list-bindings [=<bool>(=1)]β print the list of interaction bindings and exits. it's ignored with--no-render, and it 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 the 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 it with--verboseto 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 it empty for unlimited π--dpi-aware [=<bool>(=1)]β scale font and window resolution according to system scale (default:false) π₯οΈ--watch [=<bool>(=1)]β watch the current file and automatically reload it whenever it's 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 (heads up: the result can be incomplete) π--screenshot-filename <filename>β screenshot filename (default:{app}/{model}_{n}.png) πΈ
β¨ General options β¨
the everyday essentials, the ones that just live in your config π«Ά
--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 π
this is where the lewks happen, bestie. textures, colors, the whole vibe π
-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 bevisibleorhidden, 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>β3x3matrix 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 π
the actual window itself. the stage. the main character energy πͺ
--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> β the blur circle-of-confusion radius, aka how extra your depth-of-field bokeh gets (default:20)--light-intensity<value> β how hard the lights go (default:1)
Scientific visualization options β¨
-s,--coloring-mode[=<material|scivis|direct>(=scivis)]β switch up the color mode (default:material)--coloring-array<array_name> β the name of the array you wanna color with-y,--coloring-component[=<comp_index>(=0)]β which component of that array you're coloring with. Don't specify one? It uses magnitude, periodt.--coloring-field[=<string>(=cells)]β pick which field does the coloring, e.g."cells"or"points"(default:any)--coloring-range<min,max> β set a custom range for the coloring-by-array. If you don't, it just computes it for you automatically, no cap.-b,--coloring-scalar-bar[=<bool>(=1)]β show the scalar bar (default:false)--colormap-file<filePath/filename/fileStem> β hand over a colormap image π¨--colormap-discretization<int> β how many colors live in the colormap--colormap<color_list> β build a custom colormap (lowkey ignored if"colormap-file"is specified) (default:0,#000000,0.4,0.9,0,0,0.8,0.9,0.9,0,1,#ffffff)--volume-opacity-map<opacity_list> β a custom opacity map for volume rendering (default:0,0,1,1)--volume-opacity-file<filePath/filename/fileStem> β a custom opacity map image for volume rendering π«Ά-v,--volume[=<bool>(=1)]β show the volume, but only if the file is compatible (default:false)-i,--volume-inverse[=<bool>(=1)]β flip the opacity function for volume rendering (default:false)
Camera options πΈ
--camera-position<X,Y,Z> β where the camera sits. Heads up bestie: this overrides camera direction and camera zoom factor if you passed any. It's giving main character energy, it wins.--camera-focal-point<X,Y,Z> β the camera focal point--camera-view-up<direction> β the camera view up--camera-view-angle<angle> β camera view angle (non-zero, in degrees) (default:0.0)--camera-direction<direction> β the camera direction--camera-zoom-factor<factor> β camera zoom factor (non-zero) (default:0.0)--camera-azimuth-angle<angle> β camera azimuth angle (in degrees), and it's performed after the other camera options (default:0.0)--camera-elevation-angle<angle> β camera elevation angle (in degrees), also performed after the other camera options (default:0.0)--camera-orthographic[=<bool>(=1)]β use an orthographic camera
Raytracing options π₯
-r,--raytracing[=<bool>(=1)]β turn on raytracing (default:false)--raytracing-samples<samples> β samples per pixel (default:5)-d,--raytracing-denoise[=<bool>(=1)]β denoise the image (default:false)
PostFX (OpenGL) options π
-p,--blending[=<string>(=ddp)]β pick your translucency blending mode:"none","ddp","sort","sort_cpu"or"stochastic"(default:none)-q,--ambient-occlusion[=<bool>(=1)]β enable ambient occlusion for approximate shadows and better depth perception, implemented using SSAO (default:false)-a,--anti-aliasing[=<string>(=fxaa)]β pick your anti-aliasing method:"none","fxaa","ssaa"or"taa"(default:none)-t,--tone-mapping[=<bool>(=1)]β enable Tone Mapping for balanced coloring (default:false)--final-shader<GLSL code> β run the final shader at the very end of the rendering pipeline, the grand finale β¨--display-depth[=<bool>(=1)]β display the depth buffer as a 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 interaction 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 β she ate, ngl π
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 β literally the whole folder, iconic π
π REPORTING BUGS π
Found a bug? Spill it here, bestie: https://github.com/f3d-app/f3d/issues
ok so here's the little ID-card moment at the bottom of the page, and yes it's all staying because it's part of the vibe check π
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.
and that's the whole page, bestie π this little legend is F3D 4.0.1, dated October 2026, and she lives in section F3D(1) β go forth and render something gorgeous, ily π«Άβ¨
π¦ where this page comes from
- arch rolling: f3d 4.0.1-1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms