This is the documentation for Enlighten.
.scene format
The XML schema for the .scene
file format is available in Src/Samples/Libraries/GeoEn2Support/scene.xsd
.
<scene>
The root <scene>
element has the following attributes. The <scene>
element may contain any number of <instance>
, <probeSet>
, <volume>
, <probeOctree>
and <cubeMap>
elements.
Attribute | Usage | Description | Values |
---|---|---|---|
| Required | The name of this scene. | String |
| Optional | The parameter file | File path (default |
| Optional | Allows specifying the world coordinate system to be used when loading the scene in GeoRadiosity or GeoViewer. Specify for example | String (default |
| Required | The version of the scene format. | Integer |
<instance>
Any number of <instance>
elements may appear within your <scene>
.
Attribute | Usage | Description | Values |
---|---|---|---|
| Required | The name of this instance. Must be unique within the system. | String |
| Optional | The name of the zone which contains this instance. If your world is split into chunks for streaming, use the zone attribute to group instances into a single zone for each chunk. | String |
| Optional | The ID of this instance. Must be unique within the system. If you specify this for one instance in the scene, then you must specify it for all instances. If omitted this will be automatically generated. | Positive integer |
| Optional | The scene-wide unique name of the system. Use this to explicitly group radiosity instances into a radiosity system. | String |
| Optional | The name of the parameter set used for this instance. If this does not exist in the paramset file, a new paramset (using defaults) will be created. May be skipped for | String |
| Optional | Overrides the internal system GUID generated from the system ID and paramset ID. Must be unique within the entire scene. | 128-bit hex string |
| Optional | Specifies the GUID for this instance. This must be unique within the whole scene. If omitted, this is automatically generated from the system and instance names. | 128-bit hex string |
| Deprecated | Deprecated: see | |
| Required | The name of the | String |
| Required | The lighting type for this instance: |
|
| Optional | For dynamic objects, whether to create and use a volume texture. | Boolean (default |
| Optional | If being used in a Baking lightmap, the name of the map. Must be specified on the instance, or on each mesh, or both. | String |
| Optional | If being used in a Baking lightmap, the type of the map. Must be specified on either the instance or each mesh, not both. | String |
| Optional | If being used in a Baking lightmap that will be packed, whether to atlas the UVs. | Boolean |
| Optional | The location of the instance in world coordinates. | 3-element vector |
| Optional | A quaternion representing the rotation of the instance. | 4-element vector |
| Optional | A full matrix specifying translation, rotation and scaling. Should be avoided in favour of the simpler position/rotation attributes, but is required to allow scene extract of arbitrary scenes. | 4x4 matrix |
| Optional | If set to | Boolean (default |
| Optional | Specifies whether the scaling of the transform of this instance should be taken into account when generating the per-instance lightmap UVs (that is, whether the output pixel size specified for this instance should be in world units ( | Boolean (default |
| Optional | Specifies an additional scale that should be applied to the lightmap UVs for this instance (to change the output pixel size). This is applied in addition to any scaling related to the | Positive decimal (default |
clusterSize | Optional | The size of the clusters to generate for this instance, in world space units. If not specified, uses the system cluster size. | Positive decimal |
Material Overrides
Any number of <materialOverrides>
or <pbrMaterialOverrides>
elements may appear within your <instance>
elements. They contain a list of per-instance material overrides for a mesh. Note that these overrides are done on a per-property basis, i.e. the final value of any single material property will come from the <materialOverrides>
/<pbrMaterialOverrides>
if present and the .mats
file if not. If no value is specified in either the <materialOverrides>
/<pbrMaterialOverrides>
or the .mats
then the default value will be used. This means that the value of each material property can come from a different source.
Attribute | Usage | Description | Values |
---|---|---|---|
| Required | The name of the mesh (as specified in the | String |
| Optional | The version of the material overrides. | Positive integer |
Your <materialOverrides>
/<pbrMaterialOverrides>
element may contain any number of <material>
/<pbrMaterial>
elements respectively as specified in the .mats format.
<probeOctree>
Any number of <probeOctree>
elements may appear within your <scene>
.
Attribute | Usage | Description | Values |
---|---|---|---|
| Required | A unique name for this volume. | String |
<probeSet>
Any number of <probeSet>
elements may appear within your <scene>
.
Attribute | Usage | Description | Values |
---|---|---|---|
| Required | Unique name of this probeset. | String |
| Optional | If being used in a baking lightmap, the type of the map. If not specified, uses the system paramset. | String |
<volume>
Any number of <volume>
elements may appear within your <scene>
.
Attribute | Usage | Description | Values |
---|---|---|---|
| Required | A unique name for this volume. | String |
| Optional | Overrides the GUID generated from the name. Must be unique within the entire scene. | 128-bit hex string |
| Optional | Deprecated: The quality of the SH calculation. Use values | Integer (default |
| Optional | The | String |
| Optional | Internal. | Boolean (default |
| Optional | Internal. | Unsigned integer |
| Optional | Internal. Seed used for generating random positions of unstructured probe set. | Unsigned integer (default |
| Optional | If being used in a baking lightmap, the type of the map. If not specified, uses the system paramset. | String |
The <volume>
element must contain the following sub-elements, with the attributes described:
<resolution>
— the number of samples within the volume, as attributesx
,y
andz
. You can usually keepz
at1
, ifz
is up.<size>
— the length of each side of the volume, in world space, as a 3-element vector (attributesx
,y
andz
).<position>
— the world coordinates of the origin of the volume (that is, the corner), as a 3-element vector (attributesx
,y
andz
)<basis>
— the basis vectors specifying the orientation of the volume. These must be orthogonal.
The<basis>
element must contain three sub-elements holding 3-element vectors:<U>
,<V>
andN
, each with attributesx
,y
andz
. See the example below.
<cubeMap>
Any number of <cubeMap>
elements may appear within your <scene>
.
Attribute | Description |
---|---|
| Required: A unique name for this cube map. |
| Optional: The cube map parameter set to use for this volume. If not specifed, use the default parameters. |
There are also several child elements, all of which are required:
Element | Description |
---|---|
| The width of a cube map face. All faces are square and must have power of 2 widths |
| The cube map centre in world space |
| The world space centre of the oriented box that approximates the depth of the scene of the cube map |
| The length of each side of the box, in world space |
| The basis vectors specifying the orientation of the box, consisting of 3 child elements |