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 are DX9 (default), DX11, and GL.

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

irradianceonly

Computes only the irradiance texture

All

None

directionalirradiance

Computes the irradiance and an additional directional texture

All

None

directionalirradiancergb

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

Full precision input lighting

All

None

half

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

fp16

16-bits-per-pixel-per-channel floating point

All except most GLES2 Android devices

None

lrb

16 bit fixed point luminance; 8 bit red and blue

All except iOS < iPad Air

None

r11g11b10

Floating point, 11 bits per channel R and G, with 10 bit B.

PC (DX11 & GL), PS4, Xbox One

-backend DX11 or -backend GL

r9g9b9e5

Floating point, 9 bits per channel mantissa with shared 5 bit exponent.

PC (DX11 & GL), PS4, Xbox One

-backend DX11 or -backend GL

rgbm

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

l1

Compute L1 SH output values

PC, OS X, Linux, PS4, Xbox One, iOS, Android

None

l2

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.