ReadModelFlags

Description

[Flags]
enum Tinman.Engine.Models.ReadModelFlags

Enumeration of behaviour flags for reading 3D models.

The flags are applied in the order of their ordinal value (e.g. flip before swap).

Public / Constants

None

public constant None → (0:int32)

No read flags.

FlipX

public constant FlipX → (1:int32)

Flip vertex X-coordinates?

FlipY

public constant FlipY → (2:int32)

Flip vertex Y-coordinates?

FlipZ

public constant FlipZ → (4:int32)

Flip vertex Z-coordinates?

FlipU

public constant FlipU → (8:int32)

Flip texture U-coordinates?

FlipV

public constant FlipV → (16:int32)

Flip texture V-coordinates?

FlipNormals

public constant FlipNormals → (32:int32)

Flip normal vectors?

FlipWinding

public constant FlipWinding → (64:int32)

Flip vertex winding of indexed triangle list primitives?

SwapXY

public constant SwapXY → (128:int32)

Swap the X-axis and Y-axis?

SwapXZ

public constant SwapXZ → (256:int32)

Swap the X-axis and Z-axis?

SwapYZ

public constant SwapYZ → (512:int32)

Swap the Y-axis and Z-axis?

MaterialAlbedo

public constant MaterialAlbedo → (1024:int32)

This flag is intended to be used for fixing broken 3D models.

MaterialEmissive

public constant MaterialEmissive → (2048:int32)

This flag is intended to be used for fixing broken 3D models.

MaterialReflectivity

public constant MaterialReflectivity → (4096:int32)

This flag is intended to be used for fixing broken 3D models.

MaterialGloss

public constant MaterialGloss → (8192:int32)

Set IMaterial.Gloss to 1.0 when IMaterial.GlossMap is set?

This flag is intended to be used for fixing broken 3D models.

ModelGroup

public constant ModelGroup → (16384:int32)

Does the model file contain a group of 3D models?

ModelNames

public constant ModelNames → (32768:int32)

Keep the names of all model nodes, including the hierarchical structure.

Set this flag in order to collect the model node names that are suitable for being put into ModelReader.ModelNames.

NormalIsBump

public constant NormalIsBump → (65536:int32)

Re-interpret normal maps as grayscale bump height maps and re-compute normals accordingly?

When this flag is set, the texture that would otherwise be used for IMaterial.NormalMap will be interpreted as a bump height map, which triggers the behaviour of ModelReader.BumpScale.

This flag is intended to be used for fixing broken 3D models.

SmoothNormals

public constant SmoothNormals → (131072:int32)

Compute smooth per-vertex normals instead of face normals if the model does not provide normal vector information?

Models usually provide normal vector information in one of the following ways:

  • By storing per-vertex normal vectors

  • By arranging faces into smoothing groups

If no normal vector information is present, this flag may be used to force computation of smooth per-vertex normal vectors. Otherwise, it will be ignored.

This flag is intended to be used for fixing broken 3D models.