Tooling
How to generate the full coverage report
Requires gcovr program and gcc toolchain.
- Build with
F3D_COVERAGEoption enabled. - Run all tests,
xdotoolneeds to be installed. This will generate many.gcdafiles. - Generate the report with:
gcovr -r /path/to/sources --html --html-details -o coverage.html.
How to build and test with sanitizer
Requires clang toolchain.
- Build with
F3D_SANITIZERoption to any of the possible values. export LSAN_OPTIONS=suppressions=/path/to/f3d/.lsan.supp:use_tls=0.export TSAN_OPTIONS=suppressions=/path/to/f3d/.tsan.supp.- Run all tests.
How to locally generate and run the website
- Install
npm - Clone https://github.com/f3d-app/f3d-website
- Install needed npm packages:
npm install - Build and serve the website:
npm run start
Please note the search bar is not working locally, this is expected.
How to generate the doc for latest master
- Generate and run as described above
- Update the doc:
npm run update-doc - Refresh the website to see the new doc
How to update the doc for a new release
- Generate and run as described above
- Update the doc for release branch:
npm run update-doc release - Add a new versioned doc:
npm run docusaurus docs:version X.Y - Add
X.Yin thedocsVersionDropdownindocusaurus.config.ts - Rebuild the website:
npm run start - Refresh the website to see the new versioned doc
How to use F3D in XR mode
Note: XR mode is experimental and not available in our binaries.
-
Install or build VTK with
RenderingOpenXRmodule enabled. -
Build F3D with
F3D_MODULE_OPENXRoption enabled. See Build for more information. -
Set up an OpenXR runtime. Choose one of the following:
- Physical HMD: Attach an HMD and start SteamVR.
- Monado (Linux only): Install Monado (installation from source is recommended: Monado installation guide) and use the following script to start it in simulation mode:
#!/bin/bash# Set Monado as the active OpenXR runtimerm ~/.config/openxr/1/active_runtime.jsonln -s /usr/share/openxr/1/openxr_monado.json ~/.config/openxr/1/active_runtime.json# Enable Monado simulationexport XR_RUNTIME_JSON=/usr/share/openxr/1/openxr_monado.jsonexport QWERTY_ENABLE=1export SIMULATED_ENABLE=1export XRT_DEBUG_GUI=1export XRT_COMPOSITOR_FORCE_XCB=1# Start the servicemonado-serviceIn simulation mode, use the right mouse button to move around or adjust the HMD's position and orientation in the Monado UI.
-
Run F3D:
f3d path/to/file.ext --rendering-backend=xr