# Visibility
Visibility encompasses a set of features that enable visibility-aware reduction, texcoord generation and triangle culling, and is usable by setting the relevant VisibilitySettings on the ReductionProcessor, RemeshingLegacyProcessor, or AggregationProcessor.
A scene can be optimized to look particularily good from a selected set of cameras. For instance setting the camera in the driving seat of a car to remove all the excess details not visibile to the driver or surrounding the outside of a building to remove the interior details.
# Reduction weighting
The triangle reduction below has been influenced by the visibility. From the front the model looks like the original but from the side and from the back - the details have been removed.
# Texcoord weighting
The UVs below (made visible by the checkered pattern) have been generated with the help of the visibility. The weighted influence by the visibility has been tuned very aggressively in this example.
# Triangle culling
All triangles that are not at all visible from the camera can be completely removed without running a normal reduction process. This generally causes holes on the geometry.
# Camera types
The visibility can be computed using different types of cameras:
Perspective camera
A regular camera with a camera/target position and field of view. The resolution of the camera can be tuned using the "pixel field of view" property.Orthographic camera
Views the scene without a perspective projection. Given a view direction it will automatically scale the camera dimensions to encapsulate the scene. The pixel size can be set small enough (in world coordinates) to make sure the camera doesn't miss small details.Omnidirectional camera
Only specified by a point from the where the camera will view the scene in all directions. The resolution of the camera can be increased using the pixel field of view property.
# Usage
Different sets of visibility functionality is availible through the following entrypoints: