![[../../00 Asset Bank/Pasted image 20250910171917.png]]
View-Frustum Culling (or [[View-Frustum Culling|Clipping]]) is the process of removing objects to render that are outside the [[View Frustum]].
View-Frustum culling is a *per-object* operation, and is normally operated in [[Normalised Device Coordinates|NDC]] by removing the object if none of its [[Vertex|vertices]] are in the range $[-1,1]$. Typically, [[Bounding Box|Bounding Volumes]] are used to be more efficient, as its easier to check one bounding box then for *every* [[Vertex]] in an object.
### [[Pair Test|Pair Tests]]
#### [[Sphere]]
Given a sphere $[\vec c_{s},r]$, frustum: $[P;6]$
A. If sphere is 'behind' any plane (sphere/plane, point/plane), then we know the sphere is outside the frustum.
B. If sphere is 'infront' of all planes, we know sphere is [[Pair Test|inclusive]].
If both A and B failed, this mean they overlap.
There is an edge case whre the sphere is behind the planes but big enough to overlap with more than two.
#### [[Axis Aligned Bounding Box|AABB]]
- Works almost same (AaBB/Plane, point/plane)
- Use center of Aabb