F3D 3D 查看器:从命令行到批量渲染的实践 F3D 3D 查看器从命令行到批量渲染的实践【免费下载链接】f3dFast and minimalist 3D viewer.项目地址: https://gitcode.com/GitHub_Trending/f3/f3dF3D 是一款 BSD 协议开源的 3D 查看器从终端启动直接打开几何网格、点云和科学数据集也能整批把模型渲染成图片。它把查看、渲染和批处理三件事放在同一个命令行工具里适合做 3D 数据处理、自动化出图或想在应用里嵌入渲染能力的开发者。能力速览一句话定位F3D 是命令行驱动的 3D 查看器加 libf3d 渲染库。无界面菜单靠快捷键、拖放和配置文件控制冷启动快支持 headless 渲染--output直接产出 PNG--output-video产出视频流全程不弹窗口3D 格式支持走插件机制内置 native、occt、assimp、usd、pdal 等 9 个插件覆盖网格、CAD、场景、点云、体数据内置 PBR 材质与默认 HDR 环境光照.gltf/.glb类文件开箱即渲染自带 Python、Java、C、JavaScript 绑定可嵌入外部应用支持 statefile相机位置和选项可存盘、可复制便于复现同一视角安装与准备方式说明预编译包Linux、Windows、macOS 安装包装完终端里就有f3d命令源码构建CMake 流程依赖 VTK ≥ 9.4推荐 9.7和 C20 编译器源码构建按需在 CMake 里打开对应格式的插件cmake -B build \ -DF3D_PLUGIN_BUILD_OCCTON \ -DF3D_PLUGIN_BUILD_ASSIMPON .. cmake --build build构建细节、vcpkg 依赖管理和 Python 绑定开关都写在 doc/dev/05-BUILD.md。第一次运行打开模型并渲染成图片安装完成后在终端执行f3d model.glb预期结果弹出一个渲染窗口模型居中、带默认 HDR 环境光照和 PBR 材质按 F1 可调出快捷键表鼠标左键拖拽旋转、滚轮缩放、中键平移Enter 重置相机。加上--output参数则不弹窗口直接渲染成一张 PNGf3d model.glb --outputrender.png下图是 F3D 默认 HDR 环境光照下的渲染效果核心用法交互快捷键与动画播放打开文件后W 循环切换动画、Space 播放/暂停、G 切换网格。动画也可完全走命令行f3d robot.glb --animation-indices0 --animation-progressadvanced-1表示同时播放全部动画详见 doc/user/05-ANIMATIONS.md。无头渲染一次命令批量出图--output支持模板变量配合 shell 循环即可批量输出不同尺寸for f in *.stl; do f3d $f --output${f%.stl}.png --resolution1920,1080 done加--no-background可输出透明背景的 PNG适合做素材合成。配置文件与质量检查JSON 配置文件按match规则对文件格式施加不同的默认选项命令行为最高优先级格式特化预设比如 VTK 文件默认开边线直接写在配置文件里。CI 场景里常用--no-render做解析检查f3d part.step --no-render --verbose该选项只加载文件不渲染配合日志判断文件是否能正常解析失败时以非零退出码结束。格式与数据支持完整清单见 doc/user/02-SUPPORTED_FORMATS.md按类别整理如下类别格式网格STL、OBJ、PLY、3MF、AMF、3DS、DRACOCADSTEP、IGES、BREP、XBF、FCStd场景glTF/GLB、FBX、USD、COLLADA、DXF、VRML、OFF、X动画Alembic、glTF、FBX、COLLADA、USD点云LAS/LAZ、PCD、PTX、SLPK、SBET、3DGSSPLAT/SPZ/PLY体数据与科学数据VTK 全系、VTKHDF、Exodus、NetCDF、VDB、DICOM建筑与图像IFC、CityGMLPNG/JPG/EXR/HDR/WebP 等图片插件启用情况决定最终支持范围f3d --list-readers可列出当前构建实际启用的 reader。程序化集成Python 绑定通过 pybind11 提供编译时加-DF3D_BINDINGS_PYTHONON生成。offscreen 引擎适合 CI 和服务器环境import f3d engine f3d.Engine(offscreenTrue) scene engine.get_scene() scene.add(model.glb) engine.get_options().set(render.grid, True) engine.get_window().set_size(800, 800).render_to_image().save(out.png)C 直接用 libf3ddoc/libf3d/01-OVERVIEW.mdJava、C、WebAssembly/JavaScript 绑定覆盖其余常见环境。进阶工程化三条常用手段f3d anim.glb --outputframe_{frame}.png # 动画逐帧导出 PNG 序列 f3d model.stl --watch # 监视文件变化并自动重载 f3d big.glb --max-size2048 --outputt.png --no-background # 限内存出缩略图--output的{frame}变量会展开为逐帧文件--watch适合边改模型边看效果--max-size限制加载上限专用于缩略图这类轻量任务。另外 statefile--save-statefile可保存相机与选项便于在 CI 或脚本里复现固定视角。目录结构一览application/ f3d 可执行程序入口 library/ libf3d 渲染库含 SDK 与测试 plugins/ 格式读取插件occt、assimp、usd 等 9 个 c/ python/ java/ webassembly/ 语言绑定 vtkext/ VTK 扩展渲染模块 testing/ 测试基线、数据与脚本 examples/ 各语言使用示例延伸资源快速入门doc/user/01-QUICKSTART.md选项全表doc/user/03-OPTIONS.md配置文件doc/user/06-CONFIGURATION_FILE.md交互说明doc/user/04-INTERACTIONS.mdlibf3d 库文档doc/libf3d/01-OVERVIEW.md构建指南doc/dev/05-BUILD.md参与贡献CONTRIBUTING.mdF3D 的定位是查看与渲染它明确不提供菜单式 GUI、数据加工和格式导出功能需要编辑网格或建模时请交给专业 DCC 或 CAD 软件F3D 只负责快速把模型和科学数据看明白、渲出来。【免费下载链接】f3dFast and minimalist 3D viewer.项目地址: https://gitcode.com/GitHub_Trending/f3/f3d创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考