Panoptic

Run-time Options

These are the useful function keys.

F1  Toggle the GUI
F2  Toggle wireframe rendering
F3  Toggle motion blur
F4  Toggle the cache overlay
F5  Flush and reload all caches
F10 Take a screenshot and write it to frame000000.tga

Configuration Options

Configuration options are given by the file options.xml, the location of which depends on your operating system. Panoptic is a Thumb application, and my user name is rlk, so the configuration file on my Windows machine is

    C:\Users\rlk\AppData\Roaming\Thumb\options.xml
while on my OS X or Linux machine it's
    /Users/rlk/.thumb/options.xml
Substitute your own login, of course. This file does not exist initially, so here is a starter configuration with default values.

Rendering ConfigurationKeyDefault Value
Display configurationconfig_fileconfig/common/960x540-window.xml
Size of sans-serif GUI textsans_size16
Size of mono-spaced GUI textmono_size16
Vertical blanking sync intervalsync1
Input deviceinput_modegamepad
View control keys
View motion left keykey_move_L4
View motion right keykey_move_R7
View motion down keykey_move_D9
View motion up keykey_move_U21
View motion forward keykey_move_F26
View motion backward keykey_move_B22
View rotation left keykey_turn_L20
View rotation right keykey_turn_R8
View rotation down keykey_turn_D10
View rotation up keykey_turn_U23
Key motion configuration
View motion filterkey_motion_filter0.9
View motion speedkey_motion_speed5.0
View motion modekey_motion_mode0
View control gamepad axes
Gamepad motion left axisgamepad_axis_move_L-1
Gamepad motion right axisgamepad_axis_move_R0
Gamepad motion down axisgamepad_axis_move_D2
Gamepad motion up axisgamepad_axis_move_U5
Gamepad motion forward axisgamepad_axis_move_F-1
Gamepad motion backward axisgamepad_axis_move_B1
Gamepad rotation left axisgamepad_axis_turn_L3
Gamepad rotation right axisgamepad_axis_turn_R-1
Gamepad rotation down axisgamepad_axis_turn_D4
Gamepad rotation up axisgamepad_axis_turn_U-1
View control gamepad buttons
Gamepad motion left buttongamepad_button_move_L-1
Gamepad motion right buttongamepad_button_move_R-1
Gamepad motion down buttongamepad_button_move_D-1
Gamepad motion up buttongamepad_button_move_U-1
Gamepad motion forward buttongamepad_button_move_F-1
Gamepad motion backward buttongamepad_button_move_B-1
Gamepad rotation left buttongamepad_button_turn_L-1
Gamepad rotation right buttongamepad_button_turn_R-1
Gamepad rotation down buttongamepad_button_turn_D-1
Gamepad rotation up buttongamepad_button_turn_U-1
Visualization keys
Jump to view configuration 0view_location_039
Jump to view configuration 1view_location_130
Jump to view configuration 2view_location_231
Jump to view configuration 3view_location_332
Jump to view configuration 4view_location_433
Jump to view configuration 5view_location_534
Jump to view configuration 6view_location_635
Jump to view configuration 7view_location_736
Visualization gamepad buttons
Zoom Inview_button_zoom_in0
Zoom Outview_button_zoom_out1
Zoom Resetview_button_zoom_home6
GUI Toggleview_button_gui7
GUI Selectview_button_select0
SCM library configuration
Cache sizescm_cache_size16
Cache threadsscm_cache_threads2
Need queue sizescm_need_queue_size32
Load queue sizescm_load_queue_size8
Loads per cyclescm_loads_per_cycle2
Panoptic application configuration
Minimum speedpanoptic_speed_min0.0
Maximum speedpanoptic_speed_max0.2
Minimum altitudepanoptic_minimum_agl50.0
Automatic pitch controlpanoptic_auto_pitch0
Automatic demo delaypanoptic_demo_delay0
Position report portpanoptic_report_port8111
Position report hostpanoptic_report_host

Keyboard controls are defined using SDL scancodes, which are in turn defined by USB HID standard Usage Tables. The gamepad axis and buttons define reasonable values for an XBox 360 Wireless Controller for Windows.

The value scm_cache_size is of particular interest, as it can have a significant impact on performance. It controls the amount of VRAM used to cache texture images. Decreasing it can smooth out very bad performance due to texture thrashing on small GPUs. Increasing it can smooth ease IO load on large GPUs.

Total Configuration

Panoptic bundles configuration files, images, fonts, shaders, etc., within its executable. All of these embedded files may be overridden by the user. The specification of a custom options.xml is an example of this.

In general, any file placed in the Thumb data directory (%APPDATA%\Roaming\Thumb under Windows or ~/.thumb under OS X or Linux) will override a file with the same name in the Panoptic bundle. In this fashion, display configuration may be added or modified and even shaders may be rewritten, all without any need to recompile the Panoptic source.

For a complete accounting of the assets and configuration in the bundle, see the Panoptic data directory, which overrides the Thumb data directory.