This is the documentation for Enlighten.

class Enlighten IBakeInputProperties

class Enlighten::IBakeInputProperties

    └>Geo::IGeoSerialisable
        └>Geo::IGeoReleasable

Bake properties class, used by calculation tasks to hold global and task specific data.

Functions

Name Description
Create()

Creates a new IBakeInputProperties.

GetAOCullingThreshold()

The AO culling threshold.

GetAODistance()

The AO cutoff distance in your modelling units.

GetAOMaxAntiAliasingSamples()

The maximum number of times to super sample a pixel to remove aliasing for AO.

GetAOQuality()

The number of rays to cast for computing AO.

GetBackFaceTolerance()

Tolerance of ratio of samples up to which hitting invalid faces is still considered acceptable.

GetEnableDirectionalIrradiance()

Enables generation of directional irradiance maps used for relighting of normal mapped geometry.

GetEnableFinalGather()

Enables final gather as a high-quality alternative to upsampling.

GetEnableLegacyRelighting()

Enables use of the legacy surface relighting model.

GetFinalGatherNumSamples()

The number of samples to cast rays from for each output pixel during final gather.

GetFinalGatherPostFiltering()

Perform filtering after final gather to remove noise.

GetFinalGatherQuality()

The number of rays to cast for each output pixel during final gather.

GetFinalGatherTransparency()

Enable the evaluation of transparency during final gather.

GetGuid()

Every IBakeInputProperties object needs to be assigned a globally unique identifier.

GetMaxAntiAliasingSamples()

The maximum number of times to super sample a pixel to remove aliasing.

GetMaxLightSamples()

The maximum number of times to super sample an area light to capture soft shadowing effects.

GetNumProbeInterpolants()

The maximum number of probes to use when interpolating probes for bounding box corners when lifting indirect lighting from probes into lightmaps.

GetOutputIsIntensity()

Should we generate intenstiy values instead of irradiance values in light maps.

GetOutputType()

What type of output is offered by this bakesystem.

GetPackUVs()

Should we pack all instances in this bakesystem.

GetPostProcessingFilterSize()

Set the size for a post-processing filter applied to the baked direct lighting.

GetPushOff()

The amount to push off geometry for ray tracing, in your modelling units.

GetResolution()

The resolution of the output, in pixels.

GetShadowFaces()

Deprecated: Which faces of the input geometry should block incoming light (for calculating shadows for directional visibility and/or baking direct light).

GetSolverDisableEmissive()

Whether to use emissive lighting for the radiosity.

GetSolverForceWhiteAlbedo()

Force using white albedo for radiosity computations.

GetTileCullingThreshold()

The IBakeVisibilityBuffer created for baking direct light maps will cull tiles if their visibility is too low.

GetVisibilityAwareUpsampling()

Enables visibility aware upsampling.

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.

SetAOCullingThreshold(float)

The AO culling threshold.

SetAODistance(float)

The AO cutoff distance in your modelling units.

SetAOMaxAntiAliasingSamples(Geo::s32)

The maximum number of times to super sample a pixel to remove aliasing for AO.

SetAOQuality(Geo::s32)

The number of rays to cast for computing AO.

SetBackFaceTolerance(float)

Tolerance of ratio of samples up to which hitting invalid faces is still considered acceptable.

SetEnableDirectionalIrradiance(bool)

Enables generation of directional irradiance maps used for relighting of normal mapped geometry.

SetEnableFinalGather(bool)

Enables final gather as a high-quality alternative to upsampling.

SetEnableLegacyRelighting(bool)

Enables use of the legacy surface relighting model.

SetFinalGatherNumSamples(Geo::s32)

The number of samples to cast rays from for each output pixel during final gather.

SetFinalGatherPostFiltering(bool)

Perform filtering after final gather to remove noise.

SetFinalGatherQuality(Geo::s32)

The number of rays to cast for each output pixel during final gather.

SetFinalGatherTransparency(bool)

Enable the evaluation of transparency during final gather.

SetGuid(Geo::GeoGuid)

Every IBakeInputProperties object needs to be assigned a globally unique identifier.

SetMaxAntiAliasingSamples(Geo::s32)

The maximum number of times to super sample a pixel to remove aliasing.

SetMaxLightSamples(Geo::s32)

The maximum number of times to super sample an area light to capture soft shadowing effects.

SetNumProbeInterpolants(Geo::s32)

The maximum number of probes to use when interpolating probes for bounding box corners when lifting indirect lighting from probes into lightmaps.

SetOutputIsIntensity(bool)

Should we generate intenstiy values instead of irradiance values in light maps.

SetOutputType(Enlighten::EBakeType)

What type of output is offered by this bakesystem.

SetPackUVs(bool)

Should we pack all instances in this bakesystem.

SetPostProcessingFilterSize(Geo::s32)

Set the size for a post-processing filter applied to the baked direct lighting.

SetPushOff(float)

The amount to push off geometry for ray tracing, in your modelling units.

SetResolution(Geo::s32, Geo::s32)

The resolution of the output, in pixels.

SetShadowFaces(Geo::s32)

Deprecated: Which faces of the input geometry should block incoming light (for calculating shadows for directional visibility and/or baking direct light).

SetSolverDisableEmissive(bool)

Whether to use emissive lighting for the radiosity.

SetSolverForceWhiteAlbedo(bool)

Force using white albedo for radiosity computations.

SetTileCullingThreshold(float)

The IBakeVisibilityBuffer created for baking direct light maps will cull tiles if their visibility is too low.

SetVisibilityAwareUpsampling(bool)

Enables visibility aware upsampling.

Variables

Name Description
const Geo::s32 kShadowFaceBack = 0

Shadows are cast when the back face points towards the light.

const Geo::s32 kShadowFaceBoth = -1

Shadows are always cast.

const Geo::s32 kShadowFaceBothWithInvalidBack = 2

Similar to kShadowFaceBoth but marks back face shadows as 'invalid'.

const Geo::s32 kShadowFaceFront = 1

Shadows are cast when the front face points towards the light.

const Geo::s32 kShadowFaceUseMaterialAPI = -2

Deprecated.


static IBakeInputProperties* Enlighten::IBakeInputProperties::Create


public: IBakeInputProperties * Create()


Creates a new IBakeInputProperties.


virtual float Enlighten::IBakeInputProperties::GetAOCullingThreshold


public: float GetAOCullingThreshold() const


The AO culling threshold.

If the proportion of frontface hits is less than this value the pixel is rejected and interpolated from nearby samples.


virtual float Enlighten::IBakeInputProperties::GetAODistance


public: float GetAODistance() const


The AO cutoff distance in your modelling units.

Hits closer than this value is assume to be occluded.


virtual Geo::s32 Enlighten::IBakeInputProperties::GetAOMaxAntiAliasingSamples


public: Geo::s32 GetAOMaxAntiAliasingSamples() const


The maximum number of times to super sample a pixel to remove aliasing for AO.

Increasing this value does not increase baking times as the number of rays is only defined by the AO quality. Effectively this parameters controlls how to distribute the rays in the baking pixel. The default is 16, which gives good results.


virtual Geo::s32 Enlighten::IBakeInputProperties::GetAOQuality


public: Geo::s32 GetAOQuality() const


The number of rays to cast for computing AO.


virtual float Enlighten::IBakeInputProperties::GetBackFaceTolerance


public: float GetBackFaceTolerance() const


Tolerance of ratio of samples up to which hitting invalid faces is still considered acceptable.

The default is 0.9. Note that invalid faces need to have their ShadowFace attribute set to invalid.


virtual bool Enlighten::IBakeInputProperties::GetEnableDirectionalIrradiance


public: bool GetEnableDirectionalIrradiance() const


Enables generation of directional irradiance maps used for relighting of normal mapped geometry.

Enabled by default.


virtual bool Enlighten::IBakeInputProperties::GetEnableFinalGather


public: bool GetEnableFinalGather() const


Enables final gather as a high-quality alternative to upsampling.

Disabled by default.


virtual bool Enlighten::IBakeInputProperties::GetEnableLegacyRelighting


public: bool GetEnableLegacyRelighting() const


Enables use of the legacy surface relighting model.

Disabled by default.


virtual Geo::s32 Enlighten::IBakeInputProperties::GetFinalGatherNumSamples


public: Geo::s32 GetFinalGatherNumSamples() const


The number of samples to cast rays from for each output pixel during final gather.


virtual bool Enlighten::IBakeInputProperties::GetFinalGatherPostFiltering


public: bool GetFinalGatherPostFiltering() const


Perform filtering after final gather to remove noise.

Enabled by default.


virtual Geo::s32 Enlighten::IBakeInputProperties::GetFinalGatherQuality


public: Geo::s32 GetFinalGatherQuality() const


The number of rays to cast for each output pixel during final gather.


virtual bool Enlighten::IBakeInputProperties::GetFinalGatherTransparency


public: bool GetFinalGatherTransparency() const


Enable the evaluation of transparency during final gather.

Results might be inconsistent with real-time output. Disabled by default.


virtual Geo::GeoGuid Enlighten::IBakeInputProperties::GetGuid


public: Geo::GeoGuid GetGuid() const


Every IBakeInputProperties object needs to be assigned a globally unique identifier.


virtual Geo::s32 Enlighten::IBakeInputProperties::GetMaxAntiAliasingSamples


public: Geo::s32 GetMaxAntiAliasingSamples() const


The maximum number of times to super sample a pixel to remove aliasing.

The default is 16, which gives good results.


virtual Geo::s32 Enlighten::IBakeInputProperties::GetMaxLightSamples


public: Geo::s32 GetMaxLightSamples() const


The maximum number of times to super sample an area light to capture soft shadowing effects.

The default is 32, which gives good results in most cases. You may need to increase this for larger area light sources.


virtual Geo::s32 Enlighten::IBakeInputProperties::GetNumProbeInterpolants


public: Geo::s32 GetNumProbeInterpolants() const


The maximum number of probes to use when interpolating probes for bounding box corners when lifting indirect lighting from probes into lightmaps.

The default is 8, which gives good results. You may need to decrease this when using sparse probes or probes laid out in grids or single rows.


virtual bool Enlighten::IBakeInputProperties::GetOutputIsIntensity


public: bool GetOutputIsIntensity() const


Should we generate intenstiy values instead of irradiance values in light maps.


virtual Enlighten::EBakeType Enlighten::IBakeInputProperties::GetOutputType


public: Enlighten::EBakeType GetOutputType() const


What type of output is offered by this bakesystem.


virtual bool Enlighten::IBakeInputProperties::GetPackUVs


public: bool GetPackUVs() const


Should we pack all instances in this bakesystem.


virtual Geo::s32 Enlighten::IBakeInputProperties::GetPostProcessingFilterSize


public: Geo::s32 GetPostProcessingFilterSize() const


Set the size for a post-processing filter applied to the baked direct lighting.

The default is 0, which turns the filter off. The size is given in pixels.


virtual float Enlighten::IBakeInputProperties::GetPushOff


public: float GetPushOff() const


The amount to push off geometry for ray tracing, in your modelling units.


virtual Geo::GeoPair<Geo::s32, Geo::s32> Enlighten::IBakeInputProperties::GetResolution


public: Geo::GeoPair< Geo::s32, Geo::s32 > GetResolution() const


The resolution of the output, in pixels.


virtual Geo::s32 Enlighten::IBakeInputProperties::GetShadowFaces


public: Geo::s32 GetShadowFaces() const


Deprecated: Which faces of the input geometry should block incoming light (for calculating shadows for directional visibility and/or baking direct light).


virtual bool Enlighten::IBakeInputProperties::GetSolverDisableEmissive


public: bool GetSolverDisableEmissive() const


Whether to use emissive lighting for the radiosity.


virtual bool Enlighten::IBakeInputProperties::GetSolverForceWhiteAlbedo


public: bool GetSolverForceWhiteAlbedo() const


Force using white albedo for radiosity computations.


virtual float Enlighten::IBakeInputProperties::GetTileCullingThreshold


public: float GetTileCullingThreshold() const


The IBakeVisibilityBuffer created for baking direct light maps will cull tiles if their visibility is too low.

This parameter specifies the threshold. Please contact Enlighten support if you believe that this is causing issues.


virtual bool Enlighten::IBakeInputProperties::GetVisibilityAwareUpsampling


public: bool GetVisibilityAwareUpsampling() const


Enables visibility aware upsampling.

Only works when no detail meshes are used. Disabled by default.


virtual bool Geo::IGeoSerialisable::Load


public: bool Load
(
    IGeoInputStream & stream,
    Geo::u32 section
)


Load an instance of this class from an IGeoInputStream.

The stream must be ready to read from. You can load sections of an object by passing a bitmask representing the desired sections rather than Iff::AllSectionsMask, which will load all sections. It is also safe to call this method on an object multiple times with different section arguments to load multiple parts.


virtual void Geo::IGeoReleasable::Release


public: void Release()


Free this object that was created within the Enlighten libraries.

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


virtual bool Geo::IGeoSerialisable::Save


public: bool Save
(
    IGeoStream & stream,
    Geo::u32 section
) const


Save an instance of this class to an IGeoStream.

The stream must be ready to write to. You can save sections of an object by passing a bitmask representing the desired sections rather than Iff::AllSectionsMask, which will save all sections that are available.


virtual void Enlighten::IBakeInputProperties::SetAOCullingThreshold


public: void SetAOCullingThreshold
(
    float s
)


The AO culling threshold.

If the proportion of frontface hits is less than this value the pixel is rejected and interpolated from nearby samples.


virtual void Enlighten::IBakeInputProperties::SetAODistance


public: void SetAODistance
(
    float s
)


The AO cutoff distance in your modelling units.

Hits closer than this value is assume to be occluded.


virtual void Enlighten::IBakeInputProperties::SetAOMaxAntiAliasingSamples


public: void SetAOMaxAntiAliasingSamples
(
    Geo::s32 t
)


The maximum number of times to super sample a pixel to remove aliasing for AO.

Increasing this value does not increase baking times as the number of rays is only defined by the AO quality. Effectively this parameters controlls how to distribute the rays in the baking pixel. The default is 16, which gives good results.


virtual void Enlighten::IBakeInputProperties::SetAOQuality


public: void SetAOQuality
(
    Geo::s32 v
)


The number of rays to cast for computing AO.


virtual void Enlighten::IBakeInputProperties::SetBackFaceTolerance


public: void SetBackFaceTolerance
(
    float t
)


Tolerance of ratio of samples up to which hitting invalid faces is still considered acceptable.

The default is 0.9. Note that invalid faces need to have their ShadowFace attribute set to invalid.


virtual void Enlighten::IBakeInputProperties::SetEnableDirectionalIrradiance


public: void SetEnableDirectionalIrradiance
(
    bool s
)


Enables generation of directional irradiance maps used for relighting of normal mapped geometry.

Enabled by default.


virtual void Enlighten::IBakeInputProperties::SetEnableFinalGather


public: void SetEnableFinalGather
(
    bool s
)


Enables final gather as a high-quality alternative to upsampling.

Disabled by default.


virtual void Enlighten::IBakeInputProperties::SetEnableLegacyRelighting


public: void SetEnableLegacyRelighting
(
    bool s
)


Enables use of the legacy surface relighting model.

Disabled by default.


virtual void Enlighten::IBakeInputProperties::SetFinalGatherNumSamples


public: void SetFinalGatherNumSamples
(
    Geo::s32 v
)


The number of samples to cast rays from for each output pixel during final gather.


virtual void Enlighten::IBakeInputProperties::SetFinalGatherPostFiltering


public: void SetFinalGatherPostFiltering
(
    bool s
)


Perform filtering after final gather to remove noise.

Enabled by default.


virtual void Enlighten::IBakeInputProperties::SetFinalGatherQuality


public: void SetFinalGatherQuality
(
    Geo::s32 v
)


The number of rays to cast for each output pixel during final gather.


virtual void Enlighten::IBakeInputProperties::SetFinalGatherTransparency


public: void SetFinalGatherTransparency
(
    bool s
)


Enable the evaluation of transparency during final gather.

Results might be inconsistent with real-time output. Disabled by default.


virtual void Enlighten::IBakeInputProperties::SetGuid


public: void SetGuid
(
    Geo::GeoGuid guid
)


Every IBakeInputProperties object needs to be assigned a globally unique identifier.


virtual void Enlighten::IBakeInputProperties::SetMaxAntiAliasingSamples


public: void SetMaxAntiAliasingSamples
(
    Geo::s32 t
)


The maximum number of times to super sample a pixel to remove aliasing.

The default is 16, which gives good results.


virtual void Enlighten::IBakeInputProperties::SetMaxLightSamples


public: void SetMaxLightSamples
(
    Geo::s32 t
)


The maximum number of times to super sample an area light to capture soft shadowing effects.

The default is 32, which gives good results in most cases. You may need to increase this for larger area light sources.


virtual void Enlighten::IBakeInputProperties::SetNumProbeInterpolants


public: void SetNumProbeInterpolants
(
    Geo::s32 n
)


The maximum number of probes to use when interpolating probes for bounding box corners when lifting indirect lighting from probes into lightmaps.

The default is 8, which gives good results. You may need to decrease this when using sparse probes or probes laid out in grids or single rows.


virtual void Enlighten::IBakeInputProperties::SetOutputIsIntensity


public: void SetOutputIsIntensity
(
    bool v
)


Should we generate intenstiy values instead of irradiance values in light maps.


virtual void Enlighten::IBakeInputProperties::SetOutputType


public: void SetOutputType
(
    Enlighten::EBakeType v
)


What type of output is offered by this bakesystem.


virtual void Enlighten::IBakeInputProperties::SetPackUVs


public: void SetPackUVs
(
    bool v
)


Should we pack all instances in this bakesystem.


virtual void Enlighten::IBakeInputProperties::SetPostProcessingFilterSize


public: void SetPostProcessingFilterSize
(
    Geo::s32 s
)


Set the size for a post-processing filter applied to the baked direct lighting.

The default is 0, which turns the filter off. The size is given in pixels.


virtual void Enlighten::IBakeInputProperties::SetPushOff


public: void SetPushOff
(
    float s
)


The amount to push off geometry for ray tracing, in your modelling units.


virtual void Enlighten::IBakeInputProperties::SetResolution


public: void SetResolution
(
    Geo::s32 x,
    Geo::s32 y
)


The resolution of the output, in pixels.


virtual void Enlighten::IBakeInputProperties::SetShadowFaces


public: void SetShadowFaces
(
    Geo::s32 shadowFaces
)


Deprecated: Which faces of the input geometry should block incoming light (for calculating shadows for directional visibility and/or baking direct light).


virtual void Enlighten::IBakeInputProperties::SetSolverDisableEmissive


public: void SetSolverDisableEmissive
(
    bool s
)


Whether to use emissive lighting for the radiosity.


virtual void Enlighten::IBakeInputProperties::SetSolverForceWhiteAlbedo


public: void SetSolverForceWhiteAlbedo
(
    bool s
)


Force using white albedo for radiosity computations.


virtual void Enlighten::IBakeInputProperties::SetTileCullingThreshold


public: void SetTileCullingThreshold
(
    float t
)


The IBakeVisibilityBuffer created for baking direct light maps will cull tiles if their visibility is too low.

This parameter specifies the threshold. Please contact Enlighten support if you believe that this is causing issues.


virtual void Enlighten::IBakeInputProperties::SetVisibilityAwareUpsampling


public: void SetVisibilityAwareUpsampling
(
    bool s
)


Enables visibility aware upsampling.

Only works when no detail meshes are used. Disabled by default.