Skip to content

Latest commit

 

History

History
260 lines (218 loc) · 17 KB

File metadata and controls

260 lines (218 loc) · 17 KB

Parameter Reference

This page indexes the configuration, interface, command-line, camera, Python, build, and utility parameters available in DirectLStudio v1.0.0.

Runtime configuration

configs/studio.json contains the default startup configuration.

Field Default Description
schema directl.studio.v1 Configuration schema identifier
default_profile 7.9_2k Display profile selected at startup
default_scene assets/scenes/lego/scene.sog Scene opened at startup
default_mode multiview_raster Initial rendering mode
startup.fullscreen false Opens directly on the selected fullscreen monitor when enabled
startup.show_ui false Shows the full settings interface when enabled
startup.show_overlay true Shows the compact resolution, FPS, frame-time, and mode HUD
startup.show_axes false Shows the XYZ world axes when enabled

Imported reuse-catalog settings are stored in %LOCALAPPDATA%\DirectLStudio\settings.json.

Raster and Multiview Raster

Interface / CLI Default Effect Range
VSync false Synchronizes presentation to the monitor when enabled; leaving it disabled exposes uncapped throughput Boolean
AA true Enables Gaussian raster antialiasing; disabling it produces a sharper and potentially more aliased result Boolean
AA strength 1.0 Higher values increase antialiasing; lower values retain sharper splat edges UI 0..2.5
Gaussian scale / --mvr-gaussian-scale 1.0 Scales projected Gaussian footprints; larger values increase coverage, smaller values make splats tighter CLI >0; UI 0.001..2
Projection cap / --mvr-max-axis-pixels 256 Limits a projected Gaussian axis in pixels; larger values preserve larger footprints at higher cost CLI >0; UI 1..512
Clean alpha / --mvr-alpha-threshold 1/255 Removes contributions below the alpha threshold; increasing it removes more transparent splats CLI [0,1); UI 0..0.10
--mvr-shading-degree 3 Selects the spherical-harmonic degree; larger values preserve more view-dependent color Integer 0..3
--mvr-splat-budget 0 Limits the resident splat budget; 0 selects all available splats Integer >=0
--mvr-lod-hysteresis 0.15 Controls LOD switching hysteresis; larger values favor stability, smaller values respond sooner Float >=0
--mvr-frustum-dilation 0.05 Expands the culling frustum; larger values retain more edge splats Float >=0
--mvr-fast-culling true Selects the fast culling path true, false, on, off, yes, no, 1, or 0

Scene settings

Field / action Default Description
default_scene assets/scenes/lego/scene.sog Relative path of the startup scene
--asset <path> Configured default Opens a PLY, SOG, SPZ, or SPZ4 scene
Positional path None Opens a scene path supplied without --asset
--scene-folder <directory> None Supplies a scene directory for automated traversal
--images-path <directory> None Overrides an optional camera-image directory associated with the scene
configs/scene_presets.json Lego, Garden, Bicycle Matches asset path tokens and formats to initial camera presets
Input camera Automatic Selects a camera embedded in the loaded asset
Snap Camera — Moves the shared camera to the selected input camera

Display profiles

configs/display_profiles.json contains nominal examples for 2K, 4K, and 8K light-field displays.

Profile Native resolution Views Quilt Tile line_count_lx tilt_angle_deg offset_px View cone
7.9_2k 1536x2048 48 8x6 420x560 18.0 8.0 0.0 40°
15.6_4k 3840x2160 49 7x7 857x857 16.0 7.0 0.0 53°
65_8k 7680x4320 72 8x9 1024x910 28.0 9.0 0.0 80°

These are general starting values. Use the calibration supplied with a physical display for final optical alignment.

JSON / interface field 2K example Effect Valid values
native_texture.width, native_texture.height 1536, 2048 Defines the light-field render target and fullscreen backbuffer; larger dimensions increase pixel cost Positive integers matching the panel
line_count_lx / Line count 18.0 Sets RGB-subpixel widths per lenticular period; increasing it lengthens the horizontal phase period Config >0; UI 0.1..64
tilt_angle_deg / Tilt deg 8.0 Sets lenticular tilt from vertical; sign changes the direction and magnitude changes the vertical phase slope UI -45..45
offset_px / Offset px 0.0 Translates fragment-center phase in RGB-subpixel widths UI -64..64; periodic by line_count_lx
lightfield_fov_deg 40.0 Describes the display view cone; larger values cover a wider viewing range (0,180)
light_field_geometry.horizontal_fov_deg 45.0 Sets the Ray Tracing focal-plane horizontal FOV; larger values show a wider scene (0,180)
light_field_geometry.focal_plane_aspect 0.75 Sets the focal-plane aspect ratio >0
Camera array angle / array_angle_deg 40.0 Sets the total camera-array angle; increasing it increases parallax and baseline 0..120
Focus distance Scene preset Sets the zero-parallax focal plane; larger values move the plane away from the camera 0.1..20
lr_quilt.columns, lr_quilt.rows 8, 6 Defines the multiview quilt grid Positive integers with enough cells for all views
lr_quilt.view_count 48 Sets the physical view domain; increasing it samples more views and raises rendering cost Integer >1
tile_width, tile_height 420, 560 Sets the per-view Multiview Raster resolution; larger tiles increase detail and rendering cost Positive integers
runtime_catalog.path configs/reuse_catalog.json Selects the default reuse catalog JSON path
mapping_residency_policy single_active_evict_on_transition Keeps one Optical or Viewpoint map resident at a time Catalog-defined string

Ray Tracing and reuse

Parameter Default Description Values
--ror-subpixel-mode standard Selects Standard, Optical Reuse, or Viewpoint Reuse standard, optical, viewpoint
--ror-subpixel-tier quality Selects the catalog tier performance, balanced, quality
--ror-subpixel-reuse Off Compatibility shortcut for Optical Reuse at the quality tier Flag
--reuse-catalog <path> Profile catalog Loads an external reuse catalog JSON path
beta 1.5 Sets the target rendered-source ratio; smaller values request more reuse, larger values allow more rendered sources Positive float; effective range [1,3]
requested_beta Requested value Records the caller's beta Positive float
effective_beta Clamped value Supplies the solver target [1,3]
actual_beta Generated value Reports rendered source subpixels divided by native display subpixels [1,3]
selected_kappa Generated value Records the solver's selected grouping constraint Positive float

See Subpixel Reuse for map generation and Looking Glass calibration import.

Camera and interface

Interface / field Default Effect Range
camera.position Scene preset or bounds Sets the camera position in world coordinates Finite 3D vector
camera.forward / source_rotation_matrix Scene preset or bounds Sets the camera orientation Finite normalized basis
FOV Y / camera.fov_y_rad Preset; 60° fallback Larger values widen the vertical view and increase perspective UI 1..120°
Light-field Near / --camera-near-plane 0.1 Larger values clip more nearby content >=0.0001
Light-field Far / --camera-far-plane 5000 Larger values retain farther content >=0.0001 and greater than near
Speed 2.5 Larger values increase first-person movement speed UI 0.001..100
Turn speed 1.0 Larger values increase mouse rotation speed UI 0.05..5
orbit_pivot Preset or bounds Sets the center of orbit navigation Finite 3D vector
orbit_distance Preset or bounds Sets the orbit radius; larger values move the camera farther from the pivot >0
navigation_up (0,0,1) Sets the world-up direction for navigation Finite normalized vector
World axes Off Shows the XYZ orientation guide Boolean

All rendering modes use the same camera state.

Studio command line

Application options

Option Description
--help, -h Prints command-line help
--asset <path> Opens a scene
--mode Center2D|MVR|ROR Selects the initial backend
--profile <key> Selects a display profile
--reuse-catalog <catalog.json> Loads a reuse catalog
--monitor <index> Selects a physical monitor by zero-based index
--fullscreen Opens on the selected monitor's physical rectangle
--ui-hidden Hides the full interface
--review-hud Shows the compact HUD while the full interface is hidden
--no-review-hud Hides the compact HUD
--lightfield-array-angle-deg <value> Overrides the camera-array angle in degrees, from 0 to 120
--lightfield-focus-distance <value> Overrides focus distance for a single-mode diagnostic run, from 0.1 to 20
--camera-near-plane <value> Overrides the near clipping plane
--camera-far-plane <value> Overrides the far clipping plane
--images-path <directory> Overrides the optional camera-image directory
--d3d-debug Enables the D3D12 debug layer

Automated-run options

Option Default Description
--smoke Off Runs the application as a bounded automated session
--frames <N> 0 Renders N measured frames; passing it enables automated mode
--warmup-frames <N> 3 Renders N warmup frames before measurement
--smoke-seconds <N> 0 Runs a single mode for N seconds
--smoke-sequence <list> None Switches through comma-separated Center2D, MVR, ROR, Optical, and Viewpoint entries
--metrics-json <path> None Writes structured run metrics
--screenshot-path <path.ppm> None Writes the rendered backbuffer as a PPM image
--render-size <W>x<H> Profile size Overrides the automated render surface dimensions
--ror-subpixel-sequence <list> None Switches through Standard, Reuse, Optical:<tier>, or Viewpoint:<tier> entries
--ror-subpixel-auto-switch-frames <N> 0 Changes Ray Tracing submode every N frames
--gui-stress Off Enables automated interface interaction
--stress-screenshot-dir <directory> None Selects the interface screenshot directory
--stress-drop-asset <path> None Supplies an asset for automated drag-and-drop
--stress-invalid-asset <path> None Supplies an invalid asset for error-handling tests
--stress-no-screenshot Off Disables screenshots during interface stress runs
--scene-folder <directory> None Supplies a scene directory for automated traversal

--smoke-seconds is mutually exclusive with --frames and explicit sequences. --smoke-sequence and --ror-subpixel-sequence are mutually exclusive.

Python package

API parameters

Parameter Default Effect Range
line_count_lx Required Sets the horizontal lenticular period in RGB-subpixel widths Finite >0
tilt_angle_deg Required Sets the vertical phase slope; sign changes the tilt direction Finite float
offset_px Required Translates fragment-center phase Finite float
beta 1.5 Smaller values request more reuse; larger values allow more source subpixels Finite >0; effective [1,3]
width 1536 Sets map width; larger values increase map size and generation memory Positive integer
height 2048 Sets map height; larger values increase map size and generation memory Positive integer
view_count 48 Sets the view-ID domain; larger values provide more discrete views Integer >1
view_cone_deg 40.0 Sets the physical view cone (0,180)
modes ("optical", "viewpoint") Selects one or both output maps Non-empty subset of optical, viewpoint
output_dir directl-maps Selects the output directory Writable path

directl-subpixel CLI

Option Default Description
generate — Generates maps from DirectL calibration values
from-lkg <visual.json> — Imports a local Looking Glass calibration
validate <map.dlmap> — Reads and checks a .dlmap artifact
--line-count-lx <value> Required for generate Maps to line_count_lx
--tilt-angle-deg <value> Required for generate Maps to tilt_angle_deg
--offset-px <value> Required for generate Maps to offset_px
--beta <value> 1.5 Maps to beta
--width <pixels> 1536 Maps to width
--height <pixels> 2048 Maps to height
--view-count <N> 48 Maps to view_count
--view-cone-deg <degrees> 40.0 Maps to view_cone_deg
--modes <list> optical,viewpoint Selects comma-separated output modes
--output <directory> directl-maps Selects the output directory
--device-index <N> Automatic for one device Selects a device from a multi-device Looking Glass file
--structural-only Off Reads map structure without scanning complete destination coverage
--version — Prints the package version

Build and utility tools

tools/build.ps1

Parameter Default Description
-Configuration Release Selects Release, RelWithDebInfo, or Debug
-BuildDirectory %TEMP%\DirectLStudio-build Selects the out-of-tree build directory
-Generator Ninja Selects the CMake generator
-OptixRoot Environment lookup Selects the OptiX 8 SDK root
-Parallel 0 Sets parallel build jobs; 0 lets the build tool decide
-SkipTests Off Skips CTest when enabled

tools/benchmark.py

Command / option Default Description
published --output <file> Required Exports the published 54-entry table as JSON
prepare-maps --output <directory> Required Generates the nominal 2K and 4K benchmark maps
prepare-maps --profile <value> all Selects 2K, 4K, or all
run --exe <path> Required Selects DirectLStudio.exe
run --assets <directory> Required Selects the directory containing the three demo scenes
run --maps <directory> Required Selects prepared reuse maps
run --output <directory> Required Selects the metrics output directory
--runs <N> 3 Sets independent runs per combination; larger values take proportionally longer
--frames <N> 12 Sets measured frames per run
--warmup <N> 6 Sets MVR and Standard warmup frames
--reuse-warmup <N> 600 Sets Optical and Viewpoint warmup frames
--timeout <seconds> 900 Sets the per-process time limit
--forbid-process <image> None Stops the current run when a named competing Windows process is present; repeatable
--case <scene:profile:mode> Full matrix Selects one benchmark combination
--resume Off Continues from compatible completed entries in matrix.partial.json

tools/download_assets.py

Option Default Description
--scene lego Selects lego, garden, bicycle, or all
--output assets/scenes Selects the destination directory
--revision main Selects the Hugging Face dataset revision
--retries 3 Sets the number of download attempts

tools/package.ps1

Parameter Default Description
-BuildDirectory Required Selects the built runtime directory
-AssetPath Required Selects the Lego SOG included in the portable package
-MapsDirectory Required Selects the nominal 2K catalog and maps
-OutputDirectory %TEMP%\DirectLStudio-release Selects the package output directory
-Version 1.0.0 Sets the package version and archive name

tools/verify_release.py

Option Default Description
--source-root <directory> None Checks the source distribution layout and required project files
--package <zip> None Checks the portable archive contents and manifest hashes
--compare-ppm <first> <second> None Compares two P6 PPM images of equal dimensions
--max-abs-diff <N> 0 Sets the maximum permitted channel difference for --compare-ppm
--min-exact-fraction <value> 1.0 Sets the required fraction of equal channels for --compare-ppm
--write-synthetic-ply <path> None Writes a small synthetic Gaussian scene
--no-tree Off Omits the directory tree from source-layout output