A class containing various parameters and dials for the system level precompute process.
Name | Description |
---|---|
const Geo::s32 kShadowFaceBack = 0 | Deprecated ShadowFace API. |
const Geo::s32 kShadowFaceBoth = -1 | Deprecated ShadowFace API. |
const Geo::s32 kShadowFaceFront = 1 | Deprecated ShadowFace API. |
const Geo::s32 kShadowFaceUseMaterialAPI = -2 | Deprecated ShadowFace API. |
Name | Description |
---|---|
GetAlignedEdgeStitching() | Whether to use edge stitching. |
GetBackFaceTolerance() | Whether to reject ray origins which can see any back face (if false, we only reject ray origins if they see nothing but back faces). |
GetClusterSize() | The size of an input cluster. |
GetClusterTolerance() | The strictness with which the geometry is voxelised during preclustering. |
GetComputeRayOriginOutput() | General Debugging Options -------------------------------------------------- Whether to compute ray origin output during light transport. |
GetCTDiv() | Number of children per node in the cluster hierarchy. |
GetDefaultValues() | Returns a set of build parameters representing the defaults. |
GetDependencyIncludedSystemDistance() | Bounding box of the system whose dependencies are being calculated is expanded by this distance in all directions. |
GetDependencyLocalityDistance() | Maximum distance at which a given system will be considered local. |
GetDependencyVisibilityThreshold() | Do not consider a system as a dependency if its visibility is smaller than the threshold. |
GetDirectionalIrradiance() | Whether to generate directional irradiance output. |
GetDirectionalVisibilityDirectionsPerByte() | Number of visibility samples to store per byte for precomputed directional visibility. |
GetDirectionalVisibilitySlices() | Number of vertical sphere slices for precomputed directional visibility storage. |
GetEdgeStitching() | Whether to use edge stitching. |
GetEdgeStitchingDistanceMultiplier() | Maximum distance between edges for them to be stitchable, as a multiple of output pixel size. |
GetEnvironmentResolution() | The resolution for each face of the environment map. |
GetExcludeEnvironmentInPrimaryBounce() | Whether to exclude the environment form factors from the rad core data which is used for solving to the lightmap. |
GetGenerateClusterProbeSampleOffsets() | Whether to generate per cluster offsets for sampling probes. |
GetHQVisWeight() | High quality clustering visibility weighting. |
GetImportance() | A relative importance multiplier for this system in the global light transport step. |
GetIrradianceBudget() | The number of form factors to store per irradiance output sample. |
GetIrradiancePushOff() | Push off for irradiance form factor rays, in cm. |
GetIrradianceQuality() | The number of rays to cast for computing irradiance form factors. |
GetITBudget() | Maximum number of clustering iterations. |
GetLCEpsilon() | Clustering iteration termination error threshold. |
GetMaxSamples() | Maximum number of input samples for a system. |
GetMaxSolutionSize() | The maximum size of an output system, in pixels. |
GetMinSamples() | Minimum number of input samples for a system. |
GetMinSolutionSize() | The minimum size of an output system, in pixels. |
GetModellingTolerance() | Radius controlling how close ray origins can be to other geometry, in cm. |
GetNSBudget() | Number of per-triangle visibility samples to use for computing triangle visibility and input sample visibility. |
GetNumTerrainLODLevels() | If terrain LODs are being generated, specifies how many LODs to generate. |
GetPixelStitching() | Whether to use pixel stitching. |
GetPixelStitchingNormalDotProduct() | Maximum dot product of normals for pixels to be stitchable. |
GetSafe16BitClustering() | High quality clustering visibility weighting. |
GetSampleCullingThreshold() | Threshold controlling input (duster) sample culling behaviour. |
GetSamplesPerCluster() | The number of input samples per cluster. |
GetShadowFaces() | Deprecated ShadowFace API. |
GetStitchingDistanceMultiplier() | Maximum distance between charts for them to be stitchable, as a multiple of output pixel size. |
GetStitchingNormalDotProduct() | Maximum dot product of normals for charts to be stitchable. |
GetTriangleCullingThreshold() | Threshold controlling visibility-based cluster triangle culling behaviour. |
GetValidOverhangDistance() | The valid overhang distance for mesh projection. |
GetViewsDisabled() | Whether to disable viewsets. |
GetViewVoxelMultiplier() | Size of voxel grid to use for automatic viewsets, as a multiplier of (minimum) output pixel size. |
GetVisibilityThreshold() | The error allowed for reducing the number of form factors for each spherical output sample. |
Load(Geo::IGeoInputStream &, Geo::u32) | Load an instance of this class from an IGeoStream. |
RequiresTerrainLODs() | Whether to create "terrain" LODs. |
RequiresTerrainPackingPadding() | If terrain LODs are being generated, specifies whether half a pixel padding should be added to final terrain system atlas. |
Save(Geo::IGeoStream &, Geo::u32) | Save an instance of this class to an IGeoStream. |
SetAlignedEdgeStitching(bool) | Whether to use edge stitching. |
SetBackFaceTolerance(float) | Whether to reject ray origins which can see any back face (if false, we only reject ray origins if they see nothing but back faces). |
SetClusterSize(float) | The size of an input cluster. |
SetClusterTolerance(float) | The strictness with which the geometry is voxelised during preclustering. |
SetComputeRayOriginOutput(bool) | General Debugging Options -------------------------------------------------- Whether to compute ray origin output during light transport. |
SetCTDiv(float) | Number of children per node in the cluster hierarchy. |
SetDependencyIncludedSystemDistance(float) | Bounding box of the system whose dependencies are being calculated is expanded by this distance in all directions. |
SetDependencyLocalityDistance(float) | Maximum distance at which a given system will be considered local. |
SetDependencyVisibilityThreshold(float) | Do not consider a system as a dependency if its visibility is smaller than the threshold. |
SetDirectionalIrradiance(bool) | Whether to generate directional irradiance output. |
SetDirectionalVisibilityDirectionsPerByte(Geo::s32) | Number of visibility samples to store per byte for precomputed directional visibility. |
SetDirectionalVisibilitySlices(Geo::s32) | Number of vertical sphere slices for precomputed directional visibility storage. |
SetEdgeStitching(bool) | Whether to use edge stitching. |
SetEdgeStitchingDistanceMultiplier(float) | Maximum distance between edges for them to be stitchable, as a multiple of output pixel size. |
SetEnvironmentResolution(Geo::s32) | The resolution for each face of the environment map. |
SetExcludeEnvironmentInPrimaryBounce(bool) | Whether to exclude the environment form factors from the rad core data which is used for solving to the lightmap. |
SetGenerateClusterProbeSampleOffsets(bool) | Whether to generate per cluster offsets for sampling probes. |
SetHQVisWeight(float) | High quality clustering visibility weighting. |
SetImportance(float) | A relative importance multiplier for this system in the global light transport step. |
SetIrradianceBudget(Geo::s32) | The number of form factors to store per irradiance output sample. |
SetIrradiancePushOff(float) | Push off for irradiance form factor rays, in cm. |
SetIrradianceQuality(Geo::s32) | The number of rays to cast for computing irradiance form factors. |
SetITBudget(Geo::s32) | Maximum number of clustering iterations. |
SetLCEpsilon(float) | Clustering iteration termination error threshold. |
SetMaxSamples(Geo::s32) | Maximum number of input samples for a system. |
SetMaxSolutionSize(Geo::s32, Geo::s32) | The maximum size of an output system, in pixels. |
SetMinSamples(Geo::s32) | Minimum number of input samples for a system. |
SetMinSolutionSize(Geo::s32, Geo::s32) | The minimum size of an output system, in pixels. |
SetModellingTolerance(float) | Radius controlling how close ray origins can be to other geometry, in cm. |
SetNSBudget(Geo::s32) | Number of per-triangle visibility samples to use for computing triangle visibility and input sample visibility. |
SetNumTerrainLODLevels(Geo::s32) | If terrain LODs are being generated, specifies how many LODs to generate. |
SetPixelStitching(bool) | Whether to use pixel stitching. |
SetPixelStitchingNormalDotProduct(float) | Maximum dot product of normals for pixels to be stitchable. |
SetRequiresTerrainLODs(bool) | Whether to create "terrain" LODs. |
SetRequiresTerrainPackingPadding(bool) | If terrain LODs are being generated, specifies whether half a pixel padding should be added to final terrain system atlas. |
SetSafe16BitClustering(bool) | Whether to enforce that clustering creates no more than 65535 clusters such that a cluster index will fit in an unsigned integer. |
SetSampleCullingThreshold(float) | Threshold controlling input (duster) sample culling behaviour. |
SetSamplesPerCluster(Geo::s32) | The number of input samples per cluster. |
SetShadowFaces(Geo::s32) | Deprecated ShadowFace API. |
SetStitchingDistanceMultiplier(float) | Maximum distance between charts for them to be stitchable, as a multiple of output pixel size. |
SetStitchingNormalDotProduct(float) | Maximum dot product of normals for charts to be stitchable. |
SetTriangleCullingThreshold(float) | Threshold controlling visibility-based cluster triangle culling behaviour. |
SetValidOverhangDistance(Geo::s32) | The valid overhang distance for mesh projection. |
SetViewsDisabled(bool) | Whether to disable viewsets. |
SetViewVoxelMultiplier(float) | Size of voxel grid to use for automatic viewsets, as a multiplier of (minimum) output pixel size. |
SetVisibilityThreshold(float) | The error allowed for reducing the number of form factors for each spherical output sample. |
public: bool GetAlignedEdgeStitching() const
Whether to use edge stitching.
public: float GetBackFaceTolerance() const
Whether to reject ray origins which can see any back face (if false, we only reject ray origins if they see nothing but back faces).
public: float GetClusterSize() const
The size of an input cluster.
public: float GetClusterTolerance() const
The strictness with which the geometry is voxelised during preclustering.
public: bool GetComputeRayOriginOutput() const
General Debugging Options -------------------------------------------------- Whether to compute ray origin output during light transport.
Ray origin output is useful for debugging radiosity issues. The default value is false.
public: float GetCTDiv() const
Number of children per node in the cluster hierarchy.
public: const IPrecompBuildParameters * GetDefaultValues()
Returns a set of build parameters representing the defaults.
public: float GetDependencyIncludedSystemDistance() const
Bounding box of the system whose dependencies are being calculated is expanded by this distance in all directions.
All systems whose bounding boxes intersect this expanded bounding box will be fully represented in ray tracing when calculating dependencies. Other systems will be represented as bounding boxes only.
public: float GetDependencyLocalityDistance() const
Maximum distance at which a given system will be considered local.
public: float GetDependencyVisibilityThreshold() const
Do not consider a system as a dependency if its visibility is smaller than the threshold.
Specify 0 to accept systems with any visibility.
public: bool GetDirectionalIrradiance() const
Whether to generate directional irradiance output.
public: Geo::s32 GetDirectionalVisibilityDirectionsPerByte() const
Number of visibility samples to store per byte for precomputed directional visibility.
The default value is 4 (2 bits per direction). Valid values are 1,2,4 and 8. 8 produces the best compression, 1 the best quality. 4 produces the best size / quality balance.
public: Geo::s32 GetDirectionalVisibilitySlices() const
Number of vertical sphere slices for precomputed directional visibility storage.
The number of sampled visibility directions will be roughly the square of this number. Defaults to 27 (875 sampled directions). Valid values range between 2 and 64.
public: bool GetEdgeStitching() const
Whether to use edge stitching.
public: float GetEdgeStitchingDistanceMultiplier() const
Maximum distance between edges for them to be stitchable, as a multiple of output pixel size.
public: Geo::s32 GetEnvironmentResolution() const
The resolution for each face of the environment map.
public: bool GetExcludeEnvironmentInPrimaryBounce() const
Whether to exclude the environment form factors from the rad core data which is used for solving to the lightmap.
public: bool GetGenerateClusterProbeSampleOffsets() const
Whether to generate per cluster offsets for sampling probes.
public: float GetHQVisWeight() const
High quality clustering visibility weighting.
A value of 0 means that only position information is used for clustering, a value of 1 means only visibility information is used. Generally, a value close to 1 should be used..
public: float GetImportance() const
A relative importance multiplier for this system in the global light transport step.
The default value is 1.0. Higher values should only be used for area light geometry in its own dedicated system (which is known to be a bright source of illumination at precompute time). Setting a high importance will ensure that the area light geometry is retained during the light transport compression step. If you use a high importance multiplier, you should also ensure that area lights have as few clusters as possible.
public: Geo::s32 GetIrradianceBudget() const
The number of form factors to store per irradiance output sample.
public: float GetIrradiancePushOff() const
Push off for irradiance form factor rays, in cm.
public: Geo::s32 GetIrradianceQuality() const
The number of rays to cast for computing irradiance form factors.
public: Geo::s32 GetITBudget() const
Maximum number of clustering iterations.
public: float GetLCEpsilon() const
Clustering iteration termination error threshold.
public: Geo::s32 GetMaxSamples() const
Maximum number of input samples for a system.
public: Geo::GeoPair< Geo::s32, Geo::s32 > GetMaxSolutionSize() const
The maximum size of an output system, in pixels.
public: Geo::s32 GetMinSamples() const
Minimum number of input samples for a system.
public: Geo::GeoPair< Geo::s32, Geo::s32 > GetMinSolutionSize() const
The minimum size of an output system, in pixels.
public: float GetModellingTolerance() const
Radius controlling how close ray origins can be to other geometry, in cm.
public: Geo::s32 GetNSBudget() const
Number of per-triangle visibility samples to use for computing triangle visibility and input sample visibility.
These visibilities are used by the clustering metric, triangle and input sample culling.
public: Geo::s32 GetNumTerrainLODLevels() const
If terrain LODs are being generated, specifies how many LODs to generate.
public: bool GetPixelStitching() const
Whether to use pixel stitching.
public: float GetPixelStitchingNormalDotProduct() const
Maximum dot product of normals for pixels to be stitchable.
public: bool GetSafe16BitClustering() const
High quality clustering visibility weighting.
A value of 0 means that only position information is used for clustering, a value of 1 means only visibility information is used. Generally, a value close to 1 should be used..
public: float GetSampleCullingThreshold() const
Threshold controlling input (duster) sample culling behaviour.
If the visibility of the sample is less than this threshold the sample is culled. Visibility is defined as the fraction of visible front-faces over the number of samples used for visibility (NSBudget). A value of 0, turns off sample culling. A value of 1 rejects the sample if any back-face is visible.
public: Geo::s32 GetSamplesPerCluster() const
The number of input samples per cluster.
public: Geo::s32 GetShadowFaces() const
Deprecated ShadowFace API.
Which faces of the input geometry should block incoming light when calculating shadows for directional visibility. This is now a material setting, set on the m_ShadowfaceBehaviourType member of the Enlighten::PrecompMaterialInfo passed to IPrecompInputSystem::SetMaterialInfo(). To aid migration, values set with this deprecated API will be preferred over values set with the new material API. The default value is kShadowFaceUseMaterialAPI.
public: float GetStitchingDistanceMultiplier() const
Maximum distance between charts for them to be stitchable, as a multiple of output pixel size.
public: float GetStitchingNormalDotProduct() const
Maximum dot product of normals for charts to be stitchable.
public: float GetTriangleCullingThreshold() const
Threshold controlling visibility-based cluster triangle culling behaviour.
If the visibility of the triangle is less than this threshold the triangle is rejected and not part of the clustering; thus it will get no input samples. Visibility is defined as the fraction of visible front-faces over the hemisphere of the cluster. A value of 0 turns off visibility-based cluster triangle culling. A value of 1 rejects the cluster triangle if any back-face is visible.
public: Geo::s32 GetValidOverhangDistance() const
The valid overhang distance for mesh projection.
Controls the number of pixels that detail charts should be allowed to overhang target charts before we consider the overhang to be 'naughty' and appear in the DoDebugColouring output. The default is 1 pixel. Zero or negative numbers are valid and imply no overhang is valid.
public: bool GetViewsDisabled() const
Whether to disable viewsets.
public: float GetViewVoxelMultiplier() const
Size of voxel grid to use for automatic viewsets, as a multiplier of (minimum) output pixel size.
public: float GetVisibilityThreshold() const
The error allowed for reducing the number of form factors for each spherical output sample.
public: bool Load
(
Geo::IGeoInputStream & stream,
Geo::u32 section
)
Load an instance of this class from an IGeoStream.
public: bool RequiresTerrainLODs() const
Whether to create "terrain" LODs.
public: bool RequiresTerrainPackingPadding() const
If terrain LODs are being generated, specifies whether half a pixel padding should be added to final terrain system atlas.
Setting to false enables world-space packing.
public: bool Save
(
Geo::IGeoStream & stream,
Geo::u32 section
) const
Save an instance of this class to an IGeoStream.
public: void SetAlignedEdgeStitching
(
bool b
)
Whether to use edge stitching.
public: void SetBackFaceTolerance
(
float v
)
Whether to reject ray origins which can see any back face (if false, we only reject ray origins if they see nothing but back faces).
public: void SetClusterSize
(
float s
)
The size of an input cluster.
public: void SetClusterTolerance
(
float s
)
The strictness with which the geometry is voxelised during preclustering.
public: void SetComputeRayOriginOutput
(
bool b
)
General Debugging Options -------------------------------------------------- Whether to compute ray origin output during light transport.
Ray origin output is useful for debugging radiosity issues. The default value is false.
public: void SetCTDiv
(
float v
)
Number of children per node in the cluster hierarchy.
public: void SetDependencyIncludedSystemDistance
(
float v
)
Bounding box of the system whose dependencies are being calculated is expanded by this distance in all directions.
All systems whose bounding boxes intersect this expanded bounding box will be fully represented in ray tracing when calculating dependencies. Other systems will be represented as bounding boxes only.
public: void SetDependencyLocalityDistance
(
float v
)
Maximum distance at which a given system will be considered local.
public: void SetDependencyVisibilityThreshold
(
float v
)
Do not consider a system as a dependency if its visibility is smaller than the threshold.
Specify 0 to accept systems with any visibility.
public: void SetDirectionalIrradiance
(
bool b
)
Whether to generate directional irradiance output.
public: void SetDirectionalVisibilityDirectionsPerByte
(
Geo::s32 v
)
Number of visibility samples to store per byte for precomputed directional visibility.
The default value is 4 (2 bits per direction). Valid values are 1,2,4 and 8. 8 produces the best compression, 1 the best quality. 4 produces the best size / quality balance.
public: void SetDirectionalVisibilitySlices
(
Geo::s32 v
)
Number of vertical sphere slices for precomputed directional visibility storage.
The number of sampled visibility directions will be roughly the square of this number. Defaults to 27 (875 sampled directions). Valid values range between 2 and 64.
public: void SetEdgeStitching
(
bool b
)
Whether to use edge stitching.
public: void SetEdgeStitchingDistanceMultiplier
(
float v
)
Maximum distance between edges for them to be stitchable, as a multiple of output pixel size.
public: void SetEnvironmentResolution
(
Geo::s32 v
)
The resolution for each face of the environment map.
public: void SetExcludeEnvironmentInPrimaryBounce
(
bool b
)
Whether to exclude the environment form factors from the rad core data which is used for solving to the lightmap.
public: void SetGenerateClusterProbeSampleOffsets
(
bool b
)
Whether to generate per cluster offsets for sampling probes.
public: void SetHQVisWeight
(
float v
)
High quality clustering visibility weighting.
A value of 0 means that only position information is used for clustering, a value of 1 means only visibility information is used. Generally, a value close to 1 should be used..
public: void SetImportance
(
float s
)
A relative importance multiplier for this system in the global light transport step.
The default value is 1.0. Higher values should only be used for area light geometry in its own dedicated system (which is known to be a bright source of illumination at precompute time). Setting a high importance will ensure that the area light geometry is retained during the light transport compression step. If you use a high importance multiplier, you should also ensure that area lights have as few clusters as possible.
public: void SetIrradianceBudget
(
Geo::s32 v
)
The number of form factors to store per irradiance output sample.
public: void SetIrradiancePushOff
(
float v
)
Push off for irradiance form factor rays, in cm.
public: void SetIrradianceQuality
(
Geo::s32 v
)
The number of rays to cast for computing irradiance form factors.
public: void SetITBudget
(
Geo::s32 v
)
Maximum number of clustering iterations.
public: void SetLCEpsilon
(
float v
)
Clustering iteration termination error threshold.
public: void SetMaxSamples
(
Geo::s32 max
)
Maximum number of input samples for a system.
public: void SetMaxSolutionSize
(
Geo::s32 x,
Geo::s32 y
)
The maximum size of an output system, in pixels.
public: void SetMinSamples
(
Geo::s32 min
)
Minimum number of input samples for a system.
public: void SetMinSolutionSize
(
Geo::s32 x,
Geo::s32 y
)
The minimum size of an output system, in pixels.
public: void SetModellingTolerance
(
float v
)
Radius controlling how close ray origins can be to other geometry, in cm.
public: void SetNSBudget
(
Geo::s32 v
)
Number of per-triangle visibility samples to use for computing triangle visibility and input sample visibility.
These visibilities are used by the clustering metric, triangle and input sample culling.
public: void SetNumTerrainLODLevels
(
Geo::s32 v
)
If terrain LODs are being generated, specifies how many LODs to generate.
public: void SetPixelStitching
(
bool b
)
Whether to use pixel stitching.
public: void SetPixelStitchingNormalDotProduct
(
float v
)
Maximum dot product of normals for pixels to be stitchable.
public: void SetRequiresTerrainLODs
(
bool b
)
Whether to create "terrain" LODs.
public: void SetRequiresTerrainPackingPadding
(
bool b
)
If terrain LODs are being generated, specifies whether half a pixel padding should be added to final terrain system atlas.
Setting to false enables world-space packing.
public: void SetSafe16BitClustering
(
bool v
)
Whether to enforce that clustering creates no more than 65535 clusters such that a cluster index will fit in an unsigned integer.
public: void SetSampleCullingThreshold
(
float v
)
Threshold controlling input (duster) sample culling behaviour.
If the visibility of the sample is less than this threshold the sample is culled. Visibility is defined as the fraction of visible front-faces over the number of samples used for visibility (NSBudget). A value of 0, turns off sample culling. A value of 1 rejects the sample if any back-face is visible.
public: void SetSamplesPerCluster
(
Geo::s32 v
)
The number of input samples per cluster.
public: void SetShadowFaces
(
Geo::s32 shadowFaces
)
Deprecated ShadowFace API.
Which faces of the input geometry should block incoming light when calculating shadows for directional visibility. This is now a material setting, set on the m_ShadowfaceBehaviourType member of the Enlighten::PrecompMaterialInfo passed to IPrecompInputSystem::SetMaterialInfo(). To aid migration, values set with this deprecated API will be preferred over values set with the new material API. The default value is kShadowFaceUseMaterialAPI.
public: void SetStitchingDistanceMultiplier
(
float v
)
Maximum distance between charts for them to be stitchable, as a multiple of output pixel size.
public: void SetStitchingNormalDotProduct
(
float v
)
Maximum dot product of normals for charts to be stitchable.
public: void SetTriangleCullingThreshold
(
float v
)
Threshold controlling visibility-based cluster triangle culling behaviour.
If the visibility of the triangle is less than this threshold the triangle is rejected and not part of the clustering; thus it will get no input samples. Visibility is defined as the fraction of visible front-faces over the hemisphere of the cluster. A value of 0 turns off visibility-based cluster triangle culling. A value of 1 rejects the cluster triangle if any back-face is visible.
public: void SetValidOverhangDistance
(
Geo::s32 v
)
The valid overhang distance for mesh projection.
Controls the number of pixels that detail charts should be allowed to overhang target charts before we consider the overhang to be 'naughty' and appear in the DoDebugColouring output. The default is 1 pixel. Zero or negative numbers are valid and imply no overhang is valid.
public: void SetViewsDisabled
(
bool b
)
Whether to disable viewsets.
public: void SetViewVoxelMultiplier
(
float v
)
Size of voxel grid to use for automatic viewsets, as a multiplier of (minimum) output pixel size.
public: void SetVisibilityThreshold
(
float v
)
The error allowed for reducing the number of form factors for each spherical output sample.