Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

NameDescription
AddFaces(const PrecompInputFace *, const PrecompInputFace *)

Copies all faces between [begin, end) into this object.

AddLinks(const Geo::IdxLink *, const Geo::IdxLink *)

Copies all index links between [begin, end) into this object.

AddLinksForIdenticalVertices(bool, bool, bool, bool)

Utility to generate links between identical vertices.

AddMaterialGuidMapping(Geo::GeoGuid, Geo::u32)

Add an explicit mapping from 128-bit material GUID to 32-bit material ID.

AddVertices(const PrecompInputVertex *, const PrecompInputVertex *)

Copies all vertices between [begin, end) into this object.

CalculateSurfaceArea()

Returns the world-space surface area of the mesh.

Clone()

Create a deep copy of this mesh.

Create()

Create a new empty IPrecompInputMesh.

GetFaceArray()

Read-only access to the faces.

GetFaceArray()

Modification access to the faces.

GetLinkArray()

Modification access to the link array.

GetLinkArray()

Read-only access to the link array.

GetMaterialGuidMappingsArray()

Read-only access to the material GUID to 32-bit material ID mapping array.

GetNumFaces()

How many faces in this mesh.

GetNumLinks()

How many links are in this mesh.

GetNumMaterialGuidMappings()

Gets the number of material GUID to 32-bit material ID mappings, as added by AddMaterialGuidMapping.

GetNumVertices()

How many vertices in this mesh.

GetVertexArray()

Read-only access to the vertices.

GetVertexArray()

Modification access to the vertices.

Load(IGeoInputStream &, Geo::u32)

Load an instance of this class from an IGeoInputStream.

Release()

Free this object that was created within the Enlighten libraries.

Save(IGeoStream &, Geo::u32)

Save an instance of this class to an IGeoStream.

...

An IdxLink is a pair of vertex indices that denote that the two vertices should be considered to be part of the same group. By default Enlighten will treat triangles that share vertices as being in the same "triangle group" and treat as an item. Triangles that do not share vertices will be processed independently. IdxLinks allow you to add additional constraints to this. Please see the technical SDK documentation for further details and examples of this.

...

True if operation succeeded, false if there was not enough memory to satisfy request


Anchor
aaa76831e1589cb2cd9d9e64f6ac547b4
aaa76831e1589cb2cd9d9e64f6ac547b4

virtual bool Enlighten::IPrecompInputMesh::AddLinksForIdenticalVertices

...

public: bool AddLinksForIdenticalVertices
(
    bool comparePositions,
    bool compareNormals,
    bool compareChartUvs,
    bool compareAlbedoUvs
)

...

Utility to generate links between identical vertices.

This will append the link array with a set of links that link together bitwise identical vertices into the same tri group. The four boolean parameters control which elements of the vertices should be considered during the comparison. For example, if you have authored your chart UV and want to ensure that each authored chart becomes a tri group you should set compareChartUvs to true and all others to false so only comparisons of UV locations effects the joining.

All comparisons are bit-wise comparisons, and the generated links are appended onto any links that have already been added.

Note
titleNote

The behaviour of this system before links were exposed in the API was to compare on positions, normals and chart uvs but not albedo uvs. Setting this combination of bools will produce the same behaviour as previous versions.


Anchor
a17cb97d6d631102d1e3353a146c35809
a17cb97d6d631102d1e3353a146c35809

...

Free this object that was created within the Enlighten libraries.

Expect this to behave in a similar way to calling 'delete(this)'

...