Skip to content

[NV] Support FTheta FOV beyond 180 degrees - #1050

Merged
vince-brisebois merged 1 commit into
mainfrom
nv/enable-ftheta-wide-fov
Aug 20, 2026
Merged

[NV] Support FTheta FOV beyond 180 degrees#1050
vince-brisebois merged 1 commit into
mainfrom
nv/enable-ftheta-wide-fov

Conversation

@matthewdcong

Copy link
Copy Markdown
Collaborator

This PR cherry-picks support for FTheta camera FOVs > 180 degrees for upstreaming.

FTheta cameras with max_angle > pi/2 model more than 180 degrees of
FOV, but forward projection previously rejected every ray with z <= 0.
Remove that guard and determine validity from theta_full < max_angle
and the image-bounds margin check.

For max_angle <= pi/2, the validity flag remains unchanged. However,
invalid rays now return their cone-clamped rim projection instead of
the (0, 0) sentinel. Because the unscented transform includes invalid
sigma points when require_all_sigma_points_valid is false, Gaussians
straddling the camera plane now produce a more representative 2D
footprint.

Limit Euclidean near/far culling to LiDAR and FTheta, whose projection
models accept rays with z <= 0. Pinhole, orthographic, and fisheye
models retain camera-space z culling when global_z_order is false.
Rendering the beyond-180-degree FTheta band requires
global_z_order=false throughout the pipeline. This also uses Euclidean
distance for depth sorting and the D/ED depth channel.
@vince-brisebois
vince-brisebois merged commit 90d7b4b into main Aug 20, 2026
2 checks passed
@vince-brisebois
vince-brisebois deleted the nv/enable-ftheta-wide-fov branch August 20, 2026 20:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants