This is the documentation for Enlighten.
GeoViewer
Overview
GeoViewer is a simple viewing application for the .scene
file format used by the High Level Build System and GeoRadiosity. It is used mostly for internal tests to verify that the Enlighten run-time runs on all supported platforms.
GeoViewer is a testing and debugging tool, and does not provide a good example of how to use Enlighten in your game engine.
Usage
GeoViewer must be supplied with a .scene
file via command line options. The options are:
-scene <scene>
(note the space). Load scene<scene>
. The scene must have been precomputed in advance, for example by using GeoRadiosity.-lights <lights>
(again, note the space). Load light description<lights>
. If not specified, GeoViewer looks for a file named<scene>
default.lights
located alongside the__Build
<scene>__
folder that is generated by the Enlighten precompute.-backend <backend>
(again, note the space). Only used on Windows, as this is the only platform with more than one backend. Possible settings areDX9
(default),DX11
, andGL
.
Example (Windows): GeoViewer.exe -scene MyScene.scene -lights MyLights.lights -backend DX11
Example (OS X): GeoViewer.app/Contents/MacOS/GeoViewer -scene MyScene.scene -lights MyLights.lights
If GeoViewer displays a red window when started, the scene could not be loaded. Make sure the scene has been precomputed.
Once started, you can navigate with the gamepad, or with the mouse and W, A, S, D and F and V.
Command line options
-solvetype
Value | Feature | Platforms | Dependencies |
---|---|---|---|
| Computes only the irradiance texture | All | None |
| Computes the irradiance and an additional directional texture | All | None |
| Computes the irradiance and three additional textures for red, green and blue directional data | PC, OSÂ X, Linux, PS4, Xbox One, iOS, Android | None |
-loadrefdata
Loads reference radiosity data in order to compute Enlighten output using reference implementations of the system and probe solvers. If this option is not set, Enlighten uses platform-optimised solver code.
Feature | Platforms | Dependencies |
---|---|---|
Load reference radiosity data and use reference solvers | All | None |
-precision
Determines the input precision. If this option is not set, GeoViewer uses full precision.
Value | Feature | Platforms | Dependencies |
---|---|---|---|
| Full precision input lighting | All |
|
| Half precision input lighting | All | None |
-enlightenonly
Shows just the output of Enlighten (indirect lighting and specular cube map lighting) with no direct lighting. This is mainly used for testing, and on mobile platforms where the direct light rendering is currently extremely limited. It is also useful for direct comparison and verification on the PC.
Feature | Platforms | Dependencies |
---|---|---|
Render only Enlighten output | All | None |
-port
The listening port for network messages (default 6100
).
-outputformat
Specifies the Enlighten irradiance output texture format. See Output formats.
Value | Feature | Platforms | Dependencies |
---|---|---|---|
| 16-bits-per-pixel-per-channel floating point | All except most GLES2 Android devices | None |
| 16 bit fixed point luminance; 8 bit red and blue | All except iOS < iPad Air | None |
| Floating point, 11 bits per channel R and G, with 10 bit B. | PC (DX11 & GL), PS4, Xbox One |
|
| Floating point, 9 bits per channel mantissa with shared 5 bit exponent. | PC (DX11 & GL), PS4, Xbox One |
|
| 8 bit fixed point red, green and blue, with an 8 bit multiplier. See below for details. | All except iOS < iPad Air | None |
-bouncequality
Sets the bounce quality (from 0.0 to 1.0) to use when solving irradiance. See Bounce Resampling.
-entireprobesetsolver
Enables the Enlighten Entire Probe Set Solver and specifies the type of spherical harmonic output it computes.
Value | Feature | Platforms | Dependencies |
---|---|---|---|
| Compute L1 SH output values | PC, OSÂ X, Linux, PS4, Xbox One, iOS, Android | None |
| Compute L2 SH output values | PC, OSÂ X, Linux, PS4, Xbox One, iOS, Android | None |
-compressedprobeoutput
Use compressed Enlighten probe solver output.
-loadclusterdebugdata
Load the clustering debug data generated by the precompute. Required for some visualisers.
-loadlighttransportdebugdata
Load the light transport debug data generated by the precompute. Required for some visualisers.
-loadmeshsimpdebugdata
Load the mesh simp debug data generated by the precompute. Required for some visualisers.
Internal structure
GeoViewer relies on the support libraries that are shipped as part of the SDK. It uses GeoEn2Support
to load the scene files and GeoRender
to abstract the platform-specific rendering code, as well as a repository of common graphics operations and the High-Level Run-Time (EnlightenHLRT
) to drive the Enlighten run-time.
Known limitations
- While GeoViewer supports the same scene format as GeoRadiosity, it has not been tested with a large variety of test scenes and may not yet render all scenes correctly.