This is the documentation for Enlighten.

.geom format


The XML schema for the .geom file format is available in Src/Samples/Libraries/GeoEn2Support/geom.xsd.

<geom>

Your geometry parameters must be enclosed in a <geom> element, with the following attributes:

Attribute

Usage

Description

Values

id

Optional

Deprecated.

Integer

name

Required

The name of this piece of geometry. This should be unique within the entire scene.

String

version

Required

The version of the geometry format.

Integer

guid

Optional

A GUID for this geometry. If not specified an unique value will be generated internally. This should be unique within the entire scene.

128-bit hex string

outputPixelSize

Optional

Lightmap UVs: The length of one edge of an output pixel when the geometry is packed, in CM.

Float

atlasSizeOverride

Optional

Lightmap UVs: A fixed size for the output atlas (overriding the outputPixelSize calculation).

2-element vector

clampUVs

Optional

Lightmap UVs: Whether to clamp projected UVs inside the target charts or allow them to overhang.

Boolean (default true)

simpNumIterationsPerSimp

Optional

Automatic UV simplification: The number of iterations to attempt to find each simplification.

Positive integer (default 300)

simpMaxNumSimps

Optional

Automatic UV simplification: The maximum number of simplifications to attempt to find.

Positive integer (default 100)

highQualityProjection

Optional

Mesh projection: Whether the projection should be done using uniform sampling of the mesh surface instead of only using the mesh vertices.

Boolean (default false)

simpUsePixelUnits

Optional

Automatic UV simplification: Whether to interpret simpMaxDistance in units of outputPixelSize.

Boolean (default false)

minChartSizeInBlocks

Optional

Lightmap UVs: The minimum chart size in precompute blocks.

Positive integer (default 1)

isTerrain

Optional

Terrain LOD: Whether this Geom is part of terrain. Terrain patches are treated specially by precompute and allow for terrain LOD generation. Is you set this to true, then you also need to specify terrainU and terrainV properties.

Boolean (default false)

terrainU

Optional

Terrain LOD: The U terrain projection direction. Has to be specified if isTerrain is set to true. Note that terrain up direction is defined as cross product of terrainU and terrainV vectors.

3-element vector

terrainV

Optional

Terrain LOD: The V terrain projection direction. Has to be specified if isTerrain is set to true. Note that terrain up direction is defined as cross product of terrainU and terrainV vectors.

3-element vector

numLods

Optional

Lightmap LOD: The number of Levels of Detail to generate for this geometry. For more information see .

Positive integer (default 1)

<mesh>

Each individual mesh is described using a <mesh> element, with the following attributes:

Attribute

Usage

Description

Values

name

Required

A name for this mesh. This should be unique within the .geom file.

String

guid

Optional

A GUID for this mesh. If not specified a unique value will be generated internally. This should be unique within the entire scene.

128-bit hex string

filename

Required

Either a file containing the generic mesh data or a .pim file containing an IPrecompInputMesh.

String

materials

Optional

Deprecated: Has no effect.

String

direct

Required

Does the mesh affect input lighting? (true in almost all scenarios)

Boolean

indirect

Required

Does the mesh have output UVs created? (Should always be true).

Boolean

target

Required

Is the mesh a target mesh? (false implies it projects to a target mesh)

Boolean (or neveror always)

transform

Optional

A full matrix specifying translation, rotation and scaling. This will be applied to the position of all vertices before the mesh is added to the geometry object.

4x4 matrix

scaleCharts

Optional

Lightmap UVs: Whether to rescale charts on the mesh to make UV area proportional to geometric area.

Boolean (default true)

doParametise

Optional

UV parameteriser: Whether to reparametise charts on the mesh to create more even pixel density. Has the possibility of failure in complex geometry.

Boolean (default false)

doAtlassing

Optional

Deprecated: Old functionality that enables/disables chart scaling and parameterisation together.

Boolean

linkIdenticalVertices

Optional

Lightmap UVs: Whether to add links to join together triangle groups with "identical" vertices, where identical is defined by the set of comparison flags.

Boolean (default true)

comparePositions

Optional

Lightmap UVs: Whether to consider positions when identifying identical vertices.

Boolean (default true)

compareNormals

Optional

Lightmap UVs: Whether to consider normals when identifying identical vertices.

Boolean (default true)

compareChartUvs

Optional

Lightmap UVs: Whether to consider chart UVs when identifying identical vertices.

Boolean (default true)

compareAlbedoUvs

Optional

Lightmap UVs: Whether to consider albedo UVs when identifying identical vertices.

Boolean (default false)

atlassingMode

Optional

Lightmap UVs: If the default atlassing mode does not produce good results, specify an alternative here.

default, ABF or LSCM (default default)

deferProjection

Optional

Mesh projection: Whether to defer the projection step, making the precompute not depend on this mesh. Meshes with this attribute will be projected (and get final UVs) after the precompute is completed.

Boolean (default false)

bake

Optional

Baking: Whether or not the mesh should be included in baking. This allows invisible target meshes to be excluded from bakes.

Boolean (default true)

lmName

Optional

Baking: If being used in a Baking lightmap, the name of the map. If not specified, uses the system ID.

String

lmType

Optional

Baking: If being used in a Baking lightmap, the type of the map. If not specified, uses the system paramset.

String

lmNormals

Optional

Deprecated: Has no effect.

Boolean (default true)

uvChannel

Optional

Which UV stream to use during atlassing. Only applicable when working with generic meshes, as the .pimfiles will always modify the ChartUV stream.

Positive integer (default 1)

lodLevel

Optional

The LOD level of the mesh. If a mesh is not to be displayed, specify -1.

Integer (default 0)

lodDistance

Optional

The distance from camera at which to swap to this LOD. Currently unused by GeoRadiosity.

Positive float (default 0)

simpMode

Optional

The simplification mode to use.

none, simplifyNoUvs or simplifyUsingUvs(default none)

simpMaxDistance

Optional

The maximum world space separation distance within which to consider simplifying.

Positive float (default 0)

simpMaxInitialNormalDeviation

Optional

The maximum normals deviation for initial candidates for chart grouping, in degrees.

Positive float (default 0)

simpMaxGeneralNormalDeviation

Optional

The maximum normals deviation for chart grouping, in degrees.

Positive float (default 0)

simpExpansionFactor

Optional

The expansion factor for the group bounding boxes overlap test.

Positive float (default 0)

simpSignificantAreaRatio

Optional

If chartArea/groupAreais less than this value than this chart is considered insignificant. Similarly if triArea/chartAreais less than this value than this tri is considered insignificant.

Positive float (default 0)

detectSmoothBevels

Optional

If set to "true" smmoth bevels will be detected and treated specialy by precompute.

Boolean (default false)