Versions Compared

Key

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

...

    └>Geo::IGeoReleasable

The Low Level Enlighten Baking API.

Functions

NameDescription
BakeProbeSetDirect(const IPrecompInputProbeSet *, const IBakeVisibilityBuffer *, Geo::IGeoProgressProxy *, IBakeOutputProbeSet *&)

Calculates the direct light output for a given probe set and set of lights.

BakeProbeSetVisibility(const IPrecompInputProbeSet *, const IBakeVisibilityBuffer *, const Geo::GeoGuid &, Geo::IGeoProgressProxy *, IBakeOutputProbeSetVisibility *&)

Calculates the light mask for a direct light for a given probe set.

BakeSystemAO(const IBakeInputSystem *, const IBakeSystemResource *, const IBakeTextureManager *, const IBakeInputProperties *, Geo::IGeoProgressProxy *, IBakeOutputSystemAO *&)

Calculates the AO contribution for a given system.

BakeSystemDirect(const IBakeInputSystem *, const IBakeVisibilityBuffer *, const IBakeSystemResource *, const IBakeTextureManager *, const IBakeInputProperties *, Geo::IGeoProgressProxy *, IBakeOutputSystemDirect *&)

Calculates the direct light output for a given system and set of lights.

BakeSystemFinalGather(const IBakeInputSystem *, const IBakeSolvedRuntime *, const IBakeInputRayOriginPositions *, const IBakeSystemResource *, const IBakeTextureManager *, const IBakeInputProperties *, Geo::IGeoProgressProxy *, Geo::u32, const IBakeInputSystem *const *, const IBakeOutputSystemDirect *const *, const IBakeOutputSystemIndirect *const *, IBakeOutputSystemFinalGather *&)

Refines the indirect light output for a given system and set of lights using previously calculated direct and indirect output.

BakeSystemIndirect(const IBakeInputSystem *, const IBakeSolvedRuntime *, const IBakeInputRayOriginPositions *, const IBakeSystemResource *, const IBakeTextureManager *, const IBakeInputProperties *, Geo::IGeoProgressProxy *, IBakeOutputSystemIndirect *&)

Calculates the indirect light output for a given system and set of lights.

BakeSystemRadiosityNormal(const IBakeInputSystem *, const IBakeSolvedRuntime *, const IBakeInputProperties *, Geo::IGeoProgressProxy *, IBakeOutputSystemRadiosityNormal *&)

Calculates the radiosity normal texture for a given system.

BakeSystemVisibility(const IBakeInputSystem *, const IBakeVisibilityBuffer *, const Geo::GeoGuid &, const IBakeSystemResource *, const IBakeInputProperties *, Geo::IGeoProgressProxy *, IBakeOutputSystemVisibility *&)

Calculates the visibility for a given light.

CreateRuntimeLighting(const IBakeInputSystem *, const IPrecompSystemDuster *, const IPrecompPackedSystem *, const CpuTextureElement *, const CpuTextureElement *, float, const IBakeInputLighting *, IBakeRuntimeLighting *&)

Creates the IBakeRuntimeLighting for a given Enlighten system.

CreateSystemResource(const IBakeInputSystem *const *, Geo::s32, bool, Geo::IGeoProgressProxy *, IBakeSystemResource *&)

Combines multiple IBakeInputSystem objects into a single IBakeSystemResource.

FinaliseRuntimeLighting(IBakeRuntimeLighting *)

Finalises the IBakeRuntimeLighting for a given Enlighten system.

GetDebugPixelCoordinates(const IBakeInputSystem *)

Obtains reference to an array of debug pixel coordinates for a given system.

GetDebugPixelCoordinates(const IBakeInputSystem *)

Obtains reference to an array of debug pixel coordinates for a given system.

Release()

Free this object that was created within the Enlighten libraries.

RunEnlightenSolver(const IBakeInputRuntime *, const IBakeRuntimeLighting *const *, Geo::IGeoProgressProxy *, IBakeSolvedRuntime *&)

Runs the runtime radiosity solver for the IBakeInputRuntime, yielding data for the indirect baking.

SetCpuGpuMode(Geo::ECpuGpuMode)

Sets the hardware mode for the Enlighten baking.

SetCpuThreadMax(Geo::s32)

Sets the maximum number of threads that the Cpu mode will use.

SetMaxConcurrentRays(Geo::s32)

Sets the total number of rays that the baking will generate at one time. Set this only if you are concerned about memory pressure.

SetRaySetDumpFolder(const char *)

Sets the folder to dump traced per-pixel rays to.

SetRootFolder(const char *)

Sets the root folder.

SetStateDump(EStateDump)

Sets the level of reproduction data saved by the IBake tasks.

SetStateDumpFolder(const char *)

Sets the folder that shall contain reproduction data for the IBake tasks.

UpdateProbeVisibilityBuffer(const IPrecompInputProbeSet *, const IBakeSystemResource *, const IBakeTextureManager *, const IBakeInputLighting *, const IBakeInputProperties *, Geo::IGeoProgressProxy *, IBakeVisibilityBuffer *&)

Updates (or creates from scratch) a light visibility buffer for use with probe lighting.

UpdateRuntimeLighting(const IBakeInputSystem *, const IBakeTextureManager *, const IBakeVisibilityBuffer *, const Geo::v128 *, const Geo::v128 *, const IBakeInputProperties *, Geo::IGeoProgressProxy *, IBakeRuntimeLighting *)

Copies lighting information from a lightmap into the IBakeRuntimeLighting of an Enlighten system.

UpdateVisibilityBuffer(const IBakeInputSystem *, const IBakeSystemResource *, const IBakeTextureManager *, const IBakeInputLighting *, const IBakeInputProperties *, bool, Geo::IGeoProgressProxy *, IBakeVisibilityBuffer *&)

Updates (or creates from scratch) a light visibility buffer.

...

[in]pSystem

The system of interest.

[in]pRuntime

The system runtime data from the Enlighten Precompute.

[in]pRayOriginPositions

The positions of all ray origins of all systems. If NULL no visibility aware upsampling takes place.

[in]pSystemResource

All systems in the baking. If NULL no visibility aware upsampling takes place.

[in]pTexMgr

A texture manager that provides textures used in the visibility stage (eg. normal textures). Can be NULL.

[in]pBakeProperties

Controls all options for the Bake API, including texture size, unit scale, etc.

[in]progress

This object is updated during this function call to give feedback on progress.

[in]numInputSystems

Number of systems in the array of all systems.

[in]pSystems

Array of all systems.

[in]pOutputSystemsDirect

Array of the calculated direct lighting for all systems.

[in]pOutputSystemsIndirect

Array of the calculated indirect lighting for all systems.

[out]oIndirect

The calculated indirect lighting.

...

[in]pSystem

The system of interest.

[in]pRuntime

The system runtime data from the Enlighten Precompute.

[in]pRayOriginPositions

The positions of all ray origins of all systems. If NULL no visibility aware upsampling takes place.

[in]pSystemResource

All systems in the baking. If NULL no visibility aware upsampling takes place.

[in]pTexMgr

A texture manager that provides textures used in the visibility stage (eg. normal textures). Can be NULL.

[in]pBakeProperties

Controls all options for the Bake API, including texture size, unit scale, etc.

[in]progress

This object is updated during this function call to give feedback on progress.

[out]oIndirect

The calculated indirect lighting.

...

Each pixel encodes the normal that was used to calculate the Enlighten irradiance, but rescaled into the used baking UV space rather than the Enlighten UV space.

Parameters
[in]pSystem

The system of interest.

[in]pRuntime

The system runtime data from the Enlighten Precompute.

[in]pBakeProperties

Controls all options for the Bake API, including texture size, unit scale, etc.

[in]progress

This object is updated during this function call to give feedback on progress.

[out]oRadiosityNormal

The calculated indirect lighting.

...

Creates the IBakeRuntimeLighting for a given Enlighten system.

This contains the runtime albedo and emissive textures for Enlighten, with the direct input lighting baked into the emissive texture.

...

[in]pEnlightenSystem

The system of interest.

[in]duster

The precompute input sample point information, used to produce input lighting.

[in]packedSystem

The precompute packed system, used to extract the chart mask that will be used for dilation.

[in]albedoTex

(optional) Albedo information for the entire Enlighten system, if available.

[in]emissiveTex

(optional) Emissive information for the entire Enlighten system, if available.

[in]emissiveMax

(optional) Maximum encoded value in the RGBM emissive texture, if set.

[in]pLighting

Holds the emissive environment, usually calculated from a cube map. May be NULL.

[out]oLighting

The Enlighten runtime TextureAlbedo textures.

...

[in]ppSystems

The list of systems to include.

[in]numSystems

The number of systems in the above array.

[in]isEnlightenResource

Do the IBakeInputSystems represent Enlighten systems included in the radiosity computation.

[in]progress

This object is updated during this function call to give feedback on progress

[out]oSystemResource

The system resource, used by later stages to do baking.

...

Finalises the IBakeRuntimeLighting for a given Enlighten system.

When all lightmap data has been copied into the object (with UpdateRuntimeLighting) call this method.

Parameters
[inout]ioLighting

The Enlighten runtime TextureAlbedo textures.

...

Free this object that was created within the Enlighten libraries.

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

...

[in]pRuntime

Runtime data from the Enlighten Precompute.

[in]pLitMaterials

The material objects created from the CreateRuntimeMaterials call; emissive channel contains baked light data.

[in]progress

This object is updated during this function call to give feedback on progress.

[out]oSolvedRuntime

The indirect lighting information from the Enlighten runtime.


Anchor
aa02c8b7358edd5bf360a9e25c178484c
aa02c8b7358edd5bf360a9e25c178484c

...

Sets the hardware mode for the Enlighten baking.


Anchor
a6004e886d6c3f1ca80b437866fed814b
a6004e886d6c3f1ca80b437866fed814b

...

Copies lighting information from a lightmap into the IBakeRuntimeLighting of an Enlighten system.

Parameters
[in]pSystem

The system of interest.

[in]pTexMgr

A texture manager that provides textures used in the visibility stage (eg. normal textures). Can be NULL.

[in]pVisBuffer

The light visibility buffer, created from only the meshes included in the radiosity computation.

[in]albedoDilatedPtr

(optional) Additional albedo information, if not supplied we assume the material to be white, in gamma-2 format. This texture must have an alpha channel masking pixels that have geometry. The alpha values should be > 0.0 for rendered pixels and 0.0 for gutter pixels.

[in]emissiveDilatedPtr

(optional) Additional emissive information, if not supplied we assume the material to not be emissive. This texture must have an alpha channel masking pixels that have geometry. The alpha values should be > 0.0 for rendered pixels and 0.0 for gutter pixels.

[in]pBakeProperties

Controls all options for the Bake API, including texture size, unit scale, etc.

[in]progress

This object is updated during this function call to give feedback on progress.

[inout]ioLighting

The Enlighten runtime TextureAlbedo textures.

...