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 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 Configuration | Key | Default Value |
---|---|---|
Display configuration | config_file | config/common/960x540-window.xml |
Size of sans-serif GUI text | sans_size | 16 |
Size of mono-spaced GUI text | mono_size | 16 |
Vertical blanking sync interval | sync | 1 |
Input device | input_mode | gamepad |
View control keys | ||
View motion left key | key_move_L | 4 |
View motion right key | key_move_R | 7 |
View motion down key | key_move_D | 9 |
View motion up key | key_move_U | 21 |
View motion forward key | key_move_F | 26 |
View motion backward key | key_move_B | 22 |
View rotation left key | key_turn_L | 20 |
View rotation right key | key_turn_R | 8 |
View rotation down key | key_turn_D | 10 |
View rotation up key | key_turn_U | 23 |
Key motion configuration | ||
View motion filter | key_motion_filter | 0.9 |
View motion speed | key_motion_speed | 5.0 |
View motion mode | key_motion_mode | 0 |
View control gamepad axes | ||
Gamepad motion left axis | gamepad_axis_move_L | -1 |
Gamepad motion right axis | gamepad_axis_move_R | 0 |
Gamepad motion down axis | gamepad_axis_move_D | 2 |
Gamepad motion up axis | gamepad_axis_move_U | 5 |
Gamepad motion forward axis | gamepad_axis_move_F | -1 |
Gamepad motion backward axis | gamepad_axis_move_B | 1 |
Gamepad rotation left axis | gamepad_axis_turn_L | 3 |
Gamepad rotation right axis | gamepad_axis_turn_R | -1 |
Gamepad rotation down axis | gamepad_axis_turn_D | 4 |
Gamepad rotation up axis | gamepad_axis_turn_U | -1 |
View control gamepad buttons | ||
Gamepad motion left button | gamepad_button_move_L | -1 |
Gamepad motion right button | gamepad_button_move_R | -1 |
Gamepad motion down button | gamepad_button_move_D | -1 |
Gamepad motion up button | gamepad_button_move_U | -1 |
Gamepad motion forward button | gamepad_button_move_F | -1 |
Gamepad motion backward button | gamepad_button_move_B | -1 |
Gamepad rotation left button | gamepad_button_turn_L | -1 |
Gamepad rotation right button | gamepad_button_turn_R | -1 |
Gamepad rotation down button | gamepad_button_turn_D | -1 |
Gamepad rotation up button | gamepad_button_turn_U | -1 |
Visualization keys | ||
Jump to view configuration 0 | view_location_0 | 39 |
Jump to view configuration 1 | view_location_1 | 30 |
Jump to view configuration 2 | view_location_2 | 31 |
Jump to view configuration 3 | view_location_3 | 32 |
Jump to view configuration 4 | view_location_4 | 33 |
Jump to view configuration 5 | view_location_5 | 34 |
Jump to view configuration 6 | view_location_6 | 35 |
Jump to view configuration 7 | view_location_7 | 36 |
Visualization gamepad buttons | ||
Zoom In | view_button_zoom_in | 0 |
Zoom Out | view_button_zoom_out | 1 |
Zoom Reset | view_button_zoom_home | 6 |
GUI Toggle | view_button_gui | 7 |
GUI Select | view_button_select | 0 |
SCM library configuration | ||
Cache size | scm_cache_size | 16 |
Cache threads | scm_cache_threads | 2 |
Need queue size | scm_need_queue_size | 32 |
Load queue size | scm_load_queue_size | 8 |
Loads per cycle | scm_loads_per_cycle | 2 |
Panoptic application configuration | ||
Minimum speed | panoptic_speed_min | 0.0 |
Maximum speed | panoptic_speed_max | 0.2 |
Minimum altitude | panoptic_minimum_agl | 50.0 |
Automatic pitch control | panoptic_auto_pitch | 0 |
Automatic demo delay | panoptic_demo_delay | 0 |
Position report port | panoptic_report_port | 8111 |
Position report host | panoptic_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.
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.