Corner visibility walkthrough

Example: move a sample cube and change the camera FOV to explore the eight-corner frustum test from Vision Lab.

Camera (fixed at origin, looking down −Z)

Aspect 16:9 · Near 0.1 · Far 10

Cube (1 m per side)

Top-down view (X–Z plane)

Each dot represents two corners sharing the same X and Z (one at min Y, one at max Y). A dot is green if either Y-corner passes. All 8 separate results appear in the table below.

Approximation note: A box can intersect the frustum without any of its eight corners being inside. The source uses corners.some(corner => isPointInFrustum(corner, camera)) — if at least one corner passes, the object is considered visible. This is a fast approximation, not an exact frustum–box intersection test.

Corner test results

#XYZDepthResult

Source: visionUtils.ts and boundingBoxUtils.ts (commit 6cd6c08). Geometry is computed locally.