Versions Compared

Key

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

...

NameDescription
AddMesh(const BakeInputMeshInfo &)

Call this for each mesh you want added, ensuring that the invisible meshes are not included in the standard lightmap, and that non-target meshes are not included in the Enlighten lightmap.

ComputeBoundingBox()

Lightmap UV debugging helpers.

Create()

Create a new IBakeInputSystem.

DilateTexture(Geo::GeoFp16Texture *)

Expand and dilate a provided albedo/emissive texture.

DumpPixelUVLayoutStats()

Various debugging helpers (can these be extracted into another API?)

DumpTriangleUVs(Geo::s32)

Various debugging helpers (can these be extracted into another API?)

Finalise()

Create GBuffers after all geometry is added.

GetBakePropertiesGuid()

Retrieves the GUID of the IBakeInputProperties passed into one of this class's methods.

GetBarycentricWeights(Geo::BaryWeights &, Geo::s32, Geo::v128)

Lightmap UV debugging helpers.

GetFaceIndex(const Geo::GeoGuid &, const Geo::s32 &, const Geo::s32 &, Geo::s32)

Map a mesh face index to a global bakesystem index.

GetFullName()

Get the full name.

GetHeight()

Returns the width and height of the internal GBuffer.

GetId()

The Guid for the IBakeInputSystem.

GetInstance(Geo::s32, Geo::GeoGuid &, Geo::s32 &, Geo::s32 &, Geo::s32 &, Geo::s32 &)

Get the geometry instances information.

GetIsUserLightmap()

Is this BakeSystem a user-defined lightmap (if not then it is an Enlighten system, used only for sampling indirect light).

GetLightmapUVs(Geo::s32)

Get the packed lightmap UVs for a geometry instance.

GetNumInstances()

Get the geometry instances information.

GetOutputIsIntensity()

Is this BakeSystem stores output as intensity value of the average light direction.

GetOutputType()

The output type for the system.

GetPixelBarycentricWeights(Geo::s32, Geo::s32, PixelBarycentricWeights &)

Extract barycentric weights for the pixel at this location.

GetPixelIndexForTriangle(Geo::s32 &, Geo::s32, const Geo::BaryWeights &)

Lightmap UV debugging helpers.

GetTriangleForUVCoordinate(float, float)

Lightmap UV debugging helpers.

GetUVCoordinateForTriangle(Geo::GeoPoint2 &, Geo::s32, const Geo::BaryWeights &)

Lightmap UV debugging helpers.

GetWidth()

Returns the width and height of the internal GBuffer.

LightMapHasBadUVFaces()

Lightmap UV debugging helpers.

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.

SaveChartUVLayoutEps(const char *, Geo::s32, Geo::s32)

Various debugging helpers (can these be extracted into another API?)

SaveLightmapUVDebuggingRaySets(const char *, const Geo::v128 &, const Geo::v128 &)

Various debugging helpers (can these be extracted into another API?)

SavePixelTrianglesEps(const char *, Geo::s32)

Various debugging helpers (can these be extracted into another API?)

SavePixelTrianglesRaySet(const char *, Geo::s32, const Geo::v128 &, const Geo::v128 &)

Various debugging helpers (can these be extracted into another API?)

SaveTrianglePixelsEps(const char *, Geo::s32)

Various debugging helpers (can these be extracted into another API?)

SaveTrianglePixelsRaySet(const char *, Geo::s32, const Geo::v128 &, const Geo::v128 &)

Various debugging helpers (can these be extracted into another API?)

SaveUVDebuggingRaySet(const char *, const Geo::v128 &, const Geo::v128 &)

Various debugging helpers (can these be extracted into another API?)

SaveUVLayoutEps(const char *, Geo::s32, Geo::s32)

Various debugging helpers (can these be extracted into another API?)

SetBakeProperties(const IBakeInputProperties *)

Set the baking properties for this system.

SetFullName(const char *)

Set a globally unique name.

SetId(Geo::GeoGuid)

The Guid for the IBakeInputSystem.

SetIsUserLightmap(bool)

Is this BakeSystem a user-defined lightmap (if not then it is an Enlighten system, used only for sampling indirect light).

...

Call this for each mesh you want added, ensuring that the invisible meshes are not included in the standard lightmap, and that non-target meshes are not included in the Enlighten lightmap.

In order to use this method the bake properties must be set first.

...

Is this BakeSystem a user-defined lightmap (if not then it is an Enlighten system, used only for sampling indirect light).

...

[in]x

X Coordinate.

[in]y

Y Coordinate.

[out]out

Mesh/Triangle identifier and the barycentric weights of the pixel center.

Note
titleNote

Enlighten converts all incoming meshes to CCW winding order; this means that the Barycentric coordinates created here may require reinterpretation when applied back to the source mesh. Unity and Unreal are examples of engines that would require flipping the order of weights, as they store meshes in CW winding order.

...

Free this object that was created within the Enlighten libraries.

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

...

Is this BakeSystem a user-defined lightmap (if not then it is an Enlighten system, used only for sampling indirect light).