Skip to content
On this page

class VisibilitySettings ​

Visibility settings contains the parameters for how to compute the visibility of a scene and how to use it, both in the ReductionProcessor and the RemeshingProcessor. The visibility information is computed for each part of the mesh determined by the visibility from the selected SceneCamera objects. Cameras are selected using the CameraSelectionSetID. The visibility can be used to guide the reducer and/or texture coordinates generator (parameterizer) with the flags UseVisibilityWeightsInReducer respective UseVisibilityWeightsInTexcoordGenerator. There is also an option to completely throw away triangles that are deemed not visible, using the CullOccludedGeometry flag.

Properties ​

PropertyDescription
CameraSelectionSetIDThe ID of the selection set containing all the scene cameras and scene meshes used when computing visibility. If scene meshes are added, all their vertices will be used as omni-directional cameras. If set to -1, all cameras in the scene will be used. If both selection set name and ID are set, the name will be used.
CameraSelectionSetNameThe name of the selection set containing all the scene cameras and scene meshes used when computing visibility. If scene meshes are added, all their vertices will be used as omni-directional cameras. If set to null, all cameras in the scene will be used. If both selection set name and ID are set, the name will be used.
ComputeVisibilityModeSpecifies the renderer type when computing visibility.
ConservativeModeIf enabled, will compute the visibility conservatively - meaning that triangles that are visible will be tagged as visible but some non-visible triangles might also be tagged as visible. If this is turned off, then it is no longer guaranteed that all visible triangles are found - but more non-visible triangles will be identified as non-visible.
CullOccludedGeometryIf set to true, geometry that is not visible will be removed.
FillNonVisibleAreaThresholdIf a group of non-visible triangles (connected to visible triangles) has an area below the FillNonVisibleAreaThreshold - it will receive the same visibility as the neighboring visible triangles. Set to zero to skip filling nonvisible regions.
ForceVisibilityCalculationSet the ForceVisibilityCalculation if true, visibility weights will definitely be computed for the geometry, even if the visibility isn't specifically being used for reduction/materialLOD/culling according to the VisibilitySettings.
HemisphereCoverageAngleWhen using the VisibilityCameraMode 'Hemisphere', specifies the coverage angle of the hemisphere. 180 is exactly half a sphere, and 360 is a full sphere. Moving this from its default value moves the visibility horizon up or down.
HemisphereFidelityWhen using the VisibilityCameraMode 'Hemisphere', specifies the fidelity, i.e. how many samples to use when constructing the camera hemisphere.
HemisphereUpVectorWhen using the VisibilityCameraMode 'Hemisphere', specifies the up-vector of the hemisphere.
NameThe name of the VisibilitySettings object. (Inherited from Object)
OccluderSelectionSetIDThe ID of the selection set containing all the scene meshes that should occlude the scene when calculating visibility. If set to -1, no occluders will be used. If both selection set name and ID are set, the name will be used.
OccluderSelectionSetNameThe name of the selection set containing all the scene meshes used when computing visibility. If set to null, no occluders in the scene will be used. If both selection set name and ID are set, the name will be used.
RemoveTrianglesNotOccludingOtherTrianglesIf enabled, will remove all the visible triangles that are not occluding any other triangle. It will also remove all non-visible triangles.
SphereFidelityWhen using the VisibilityCameraMode 'Sphere', specifies the fidelity, i.e. how many samples to use when constructing the camera sphere.
UseBackfaceCullingSet whether triangles should be regarded visible when viewed from the back.
UseVisibilityWeightsInReducerIf set to true, visibility weights will be used in the reducer.
UseVisibilityWeightsInTexcoordGeneratorIf set to true, visibility weights will be used when generating new texture coordinates.
VisibilityCameraModeSpecifies the camera setup the processor will use when calculating the visibility for reduction weights, texcoord weights, or culling.
VisibilityWeightsPowerSet how aggressively reducer should handle low visibility weights.

Methods ​

MethodDescription
AddObserverAdds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)
GetBoolParameterGet a named parameter boolean value. (Inherited from SettingsObject)
GetClassGet the name of the VisibilitySettings class. (Inherited from Object)
GetDoubleParameterGet a named parameter floating point value. (Inherited from SettingsObject)
GetErrorStringReturns a string describing the error that was found the last time ValidateSettings was performed. (Inherited from SettingsObject)
GetIntParameterGet a named parameter integer value. (Inherited from SettingsObject)
GetStringParameterGet a named parameter string value. (Inherited from SettingsObject)
GetUIntParameterGet a named parameter unsigned integer value. (Inherited from SettingsObject)
IsAReturns true if VisibilitySettings is a or is a descendant of the class named as the type parameter. (Inherited from Object)
IsNullReturns true if the VisibilitySettings object is invalid. (Inherited from Object)
IsSameObjectAsReturns true if the VisibilitySettings object is valid. (Inherited from Object)
NonNullReturns true if the VisibilitySettings object is valid. (Inherited from Object)
PrintInfoPrints the content/info of the VisibilitySettings object to the log. (Inherited from Object)
RemoveObserverRemoves a previously added observer object. (Inherited from Object)
SetBoolParameterSet a named parameter boolean value. (Inherited from SettingsObject)
SetDoubleParameterSet a named parameter floating point value. (Inherited from SettingsObject)
SetIntParameterSet a named parameter integer value. (Inherited from SettingsObject)
SetStringParameterSet a named parameter string value. (Inherited from SettingsObject)
SetUIntParameterSet a named parameter unsigned integer value. (Inherited from SettingsObject)
SetValidateParameterNamesSet if parameter names should be validated or not. Parameters that previously do not exist will generate and error if validation is enabled and be allowed if validation is disabled. (Inherited from SettingsObject)
ToJSONGet settings as JSON for debugging purposes. (Inherited from SettingsObject)
ValidateSettingsValidates the current settings values. (Inherited from SettingsObject)

Static methods ​

MethodDescription
IsClassAReturns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)
SafeCastSafeCast makes sure the input object is of a class that can be cast into spVisibilitySettings, and if this is the case, returns the object cast into spVisibilitySettings. (Inherited from Object)

Properties details ​

CameraSelectionSetID ​

The ID of the selection set containing all the scene cameras and scene meshes used when computing visibility. If scene meshes are added, all their vertices will be used as omni-directional cameras. If set to -1, all cameras in the scene will be used. If both selection set name and ID are set, the name will be used.

CameraSelectionSetName ​

The name of the selection set containing all the scene cameras and scene meshes used when computing visibility. If scene meshes are added, all their vertices will be used as omni-directional cameras. If set to null, all cameras in the scene will be used. If both selection set name and ID are set, the name will be used.

ComputeVisibilityMode ​

Specifies the renderer type when computing visibility.

ConservativeMode ​

If enabled, will compute the visibility conservatively - meaning that triangles that are visible will be tagged as visible but some non-visible triangles might also be tagged as visible. If this is turned off, then it is no longer guaranteed that all visible triangles are found - but more non-visible triangles will be identified as non-visible.

CullOccludedGeometry ​

If set to true, geometry that is not visible will be removed.

FillNonVisibleAreaThreshold ​

If a group of non-visible triangles (connected to visible triangles) has an area below the FillNonVisibleAreaThreshold - it will receive the same visibility as the neighboring visible triangles. Set to zero to skip filling nonvisible regions.

ForceVisibilityCalculation ​

Set the ForceVisibilityCalculation if true, visibility weights will definitely be computed for the geometry, even if the visibility isn't specifically being used for reduction/materialLOD/culling according to the VisibilitySettings.

HemisphereCoverageAngle ​

When using the VisibilityCameraMode 'Hemisphere', specifies the coverage angle of the hemisphere. 180 is exactly half a sphere, and 360 is a full sphere. Moving this from its default value moves the visibility horizon up or down.

HemisphereFidelity ​

When using the VisibilityCameraMode 'Hemisphere', specifies the fidelity, i.e. how many samples to use when constructing the camera hemisphere.

HemisphereUpVector ​

When using the VisibilityCameraMode 'Hemisphere', specifies the up-vector of the hemisphere.

Name ​

The name of the VisibilitySettings object. (Inherited from Object)

OccluderSelectionSetID ​

The ID of the selection set containing all the scene meshes that should occlude the scene when calculating visibility. If set to -1, no occluders will be used. If both selection set name and ID are set, the name will be used.

OccluderSelectionSetName ​

The name of the selection set containing all the scene meshes used when computing visibility. If set to null, no occluders in the scene will be used. If both selection set name and ID are set, the name will be used.

RemoveTrianglesNotOccludingOtherTriangles ​

If enabled, will remove all the visible triangles that are not occluding any other triangle. It will also remove all non-visible triangles.

SphereFidelity ​

When using the VisibilityCameraMode 'Sphere', specifies the fidelity, i.e. how many samples to use when constructing the camera sphere.

UseBackfaceCulling ​

Set whether triangles should be regarded visible when viewed from the back.

UseVisibilityWeightsInReducer ​

If set to true, visibility weights will be used in the reducer.

UseVisibilityWeightsInTexcoordGenerator ​

If set to true, visibility weights will be used when generating new texture coordinates.

VisibilityCameraMode ​

Specifies the camera setup the processor will use when calculating the visibility for reduction weights, texcoord weights, or culling.

VisibilityWeightsPower ​

Set how aggressively reducer should handle low visibility weights.

Methods details ​

AddObserver ​

Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)

GetBoolParameter ​

Get a named parameter boolean value.

GetClass ​

Get the name of the VisibilitySettings class. (Inherited from Object)

GetDoubleParameter ​

Get a named parameter floating point value.

GetErrorString ​

Returns a string describing the error that was found the last time ValidateSettings was performed.

GetIntParameter ​

Get a named parameter integer value.

GetStringParameter ​

Get a named parameter string value.

GetUIntParameter ​

Get a named parameter unsigned integer value.

IsA ​

Returns true if VisibilitySettings is a or is a descendant of the class named as the type parameter. (Inherited from Object)

IsNull ​

Returns true if the VisibilitySettings object is invalid. (Inherited from Object)

IsSameObjectAs ​

Returns true if the VisibilitySettings object is valid. (Inherited from Object)

NonNull ​

Returns true if the VisibilitySettings object is valid. (Inherited from Object)

PrintInfo ​

Prints the content/info of the VisibilitySettings object to the log. (Inherited from Object)

RemoveObserver ​

Removes a previously added observer object. (Inherited from Object)

SetBoolParameter ​

Set a named parameter boolean value.

SetDoubleParameter ​

Set a named parameter floating point value.

SetIntParameter ​

Set a named parameter integer value.

SetStringParameter ​

Set a named parameter string value.

SetUIntParameter ​

Set a named parameter unsigned integer value.

SetValidateParameterNames ​

Set if parameter names should be validated or not. Parameters that previously do not exist will generate and error if validation is enabled and be allowed if validation is disabled.

ToJSON ​

Get settings as JSON for debugging purposes.

ValidateSettings ​

Validates the current settings values.

Static methods details ​

IsClassA ​

Returns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)

SafeCast ​

SafeCast makes sure the input object is of a class that can be cast into spVisibilitySettings, and if this is the case, returns the object cast into spVisibilitySettings. (Inherited from Object)