This is the documentation for Enlighten.
class Enlighten IBake
class Enlighten::IBake
The Low Level Enlighten Baking API.
Functions
Name | Description |
|---|---|
Calculates the direct light output for a given probe set and set of lights. | |
Calculates the light mask for a direct light for a given probe set. | |
Calculates the AO contribution for a given system. | |
Calculates the direct light output for a given system and set of lights. | |
Refines the indirect light output for a given system and set of lights using previously calculated direct and indirect output. | |
Calculates the indirect light output for a given system and set of lights. | |
Calculates the radiosity normal texture for a given system. | |
Calculates the visibility for a given light. | |
Creates the IBakeRuntimeLighting for a given Enlighten system. | |
Combines multiple IBakeInputSystem objects into a single IBakeSystemResource. | |
Finalises the IBakeRuntimeLighting for a given Enlighten system. | |
Obtains reference to an array of debug pixel coordinates for a given system. | |
Obtains reference to an array of debug pixel coordinates for a given system. | |
Free this object that was created within the Enlighten libraries. | |
Runs the runtime radiosity solver for the IBakeInputRuntime, yielding data for the indirect baking. | |
Sets the hardware mode for the Enlighten baking. | |
Sets the maximum number of threads that the Cpu mode will use. | |
Sets the total number of rays that the baking will generate at one time. Set this only if you are concerned about memory pressure. | |
Sets the folder to dump traced per-pixel rays to. | |
Sets the root folder. | |
Sets the level of reproduction data saved by the IBake tasks. | |
Sets the folder that shall contain reproduction data for the IBake tasks. | |
Updates (or creates from scratch) a light visibility buffer for use with probe lighting. | |
Copies lighting information from a lightmap into the IBakeRuntimeLighting of an Enlighten system. | |
Updates (or creates from scratch) a light visibility buffer. |
Typedefs
Name | Description |
|---|---|
Geo::GeoArray< Geo::GeoPair< Geo::s32, Geo::s32 > > DebugPixelCoordinates | X,Y coordinate of a debug pixel. |
Enums
Name | Description |
|---|---|
Controls the amount of reproduction data saved by the IBake tasks. |
virtual Geo::s32 Enlighten::IBake::BakeProbeSetDirect
public: Geo::s32 BakeProbeSetDirect
(
const IPrecompInputProbeSet * pProbes,
const IBakeVisibilityBuffer * pVisBuffer,
Geo::IGeoProgressProxy * progress,
IBakeOutputProbeSet *& oDirect
)
Calculates the direct light output for a given probe set and set of lights.
If you want separate textures for each light, call this once for each light.
Parameters
[in] | pProbes | The input probes |
[in] | pVisBuffer | The light visibility buffer, created from the visible meshes. |
[in] | progress | This object is updated during this function call to give feedback on progress. |
[out] | oDirect | The calculated direct lighting. |
virtual Geo::s32 Enlighten::IBake::BakeProbeSetVisibility
public: Geo::s32 BakeProbeSetVisibility
(
const IPrecompInputProbeSet * pProbes,
const IBakeVisibilityBuffer * pVisBuffer,
const Geo::GeoGuid & lightId,
Geo::IGeoProgressProxy * progress,
IBakeOutputProbeSetVisibility *& oVisibility
)
Calculates the light mask for a direct light for a given probe set.
If you want separate textures for each light, call this once for each light.
Parameters
[in] | pProbes | The input probes |
[in] | pVisBuffer | The light visibility buffer, created from the visible meshes. |
[in] | lightId | The GUID of the light to get light mask from |
[in] | progress | This object is updated during this function call to give feedback on progress. |
[out] | oVisibility | The calculated visibility data. |
virtual Geo::s32 Enlighten::IBake::BakeSystemAO
public: Geo::s32 BakeSystemAO
(
const IBakeInputSystem * pSystem,
const IBakeSystemResource * pSystemResource,
const IBakeTextureManager * pTexMgr,
const IBakeInputProperties * pBakeProperties,
Geo::IGeoProgressProxy * progress,
IBakeOutputSystemAO *& oAO
)
Calculates the AO contribution for a given system.
Parameters
[in] | pSystem | The system of interest. |
[in] | pSystemResource | All systems in the baking. |
[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] | oAO | The calculated AO data. |
virtual Geo::s32 Enlighten::IBake::BakeSystemDirect
public: Geo::s32 BakeSystemDirect
(
const IBakeInputSystem * pSystem,
const IBakeVisibilityBuffer * pVisBuffer,
const IBakeSystemResource * pSystemResource,
const IBakeTextureManager * pTexMgr,
const IBakeInputProperties * pBakeProperties,
Geo::IGeoProgressProxy * progress,
IBakeOutputSystemDirect *& oDirect
)
Calculates the direct light output for a given system and set of lights.
If you want separate textures for each light, call this once for each light.
Parameters
[in] | pSystem | The system of interest. |
[in] | pVisBuffer | The light visibility buffer, created from the visible meshes. |
[in] | pSystemResource | All systems in the baking. Can be NULL if the PostProcessingFilterSize property is 0. |
[in] | pTexMgr | A texture manager that provides textures used in the visibility stage (e.g. 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] | oDirect | The calculated direct lighting. |
virtual Geo::s32 Enlighten::IBake::BakeSystemFinalGather
public: Geo::s32 BakeSystemFinalGather
(
const IBakeInputSystem * pSystem,
const IBakeSolvedRuntime * pRuntime,
const IBakeInputRayOriginPositions * pRayOriginPositions,
const IBakeSystemResource * pSystemResource,
const IBakeTextureManager * pTexMgr,
const IBakeInputProperties * pBakeProperties,
Geo::IGeoProgressProxy * progress,
Geo::u32 numInputSystems,
const IBakeInputSystem *const * pSystems,
const IBakeOutputSystemDirect *const * pOutputSystemsDirect,
const IBakeOutputSystemIndirect *const * pOutputSystemsIndirect,
IBakeOutputSystemFinalGather *& oIndirect
)
Refines the indirect light output for a given system and set of lights using previously calculated direct and indirect output.
Parameters
[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. |
virtual Geo::s32 Enlighten::IBake::BakeSystemIndirect
public: Geo::s32 BakeSystemIndirect
(
const IBakeInputSystem * pSystem,
const IBakeSolvedRuntime * pRuntime,
const IBakeInputRayOriginPositions * pRayOriginPositions,
const IBakeSystemResource * pSystemResource,
const IBakeTextureManager * pTexMgr,
const IBakeInputProperties * pBakeProperties,
Geo::IGeoProgressProxy * progress,
IBakeOutputSystemIndirect *& oIndirect
)
Calculates the indirect light output for a given system and set of lights.
If you want separate textures for each light, call this once for each light.
Parameters
[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. |
virtual Geo::s32 Enlighten::IBake::BakeSystemRadiosityNormal
public: Geo::s32 BakeSystemRadiosityNormal( const IBakeInputSystem * pSystem, const IBakeSolvedRuntime * pRuntime, const IBakeInputProperties * pBakeProperties, Geo::IGeoProgressProxy * progress, IBakeOutputSystemRadiosityNormal *& oRadiosityNormal)