Clamp Ogre2 GPU lidar cubemap sampling at face edges - #1319
Conversation
Signed-off-by: bigboateng <bigboateng2011@gmail.com>
|
CI note: the failing Resolute job is an infrastructure failure rather than a I opened gazebo-tooling/release-tools#1522 to address |
|
Thanks for the contribution @bigboateng. Could you please fill out the PR template? |
|
@azeey Thanks for pointing that out. I’ve updated the description using the Gazebo bug-fix PR template, including the reproduction, validation, backport status, checklist, and required disclosure. |
iche033
left a comment
There was a problem hiding this comment.
changes look good to me. Thanks for the contribution
|
verified test fails without the changes |
🦟 Bug fix
Related to gazebosim/gz-sim#3475
Summary
GPU lidar scan directions on cubemap face boundaries can produce a normalized texture coordinate of
1.0. The Ogre2 GPU-rays second pass uses point filtering, but its sample-table and cubemap textures previously retained Ogre's default wrap addressing. An endpoint lookup could therefore sample the opposite texture edge.This is observable with a partial-FOV scan using 900 horizontal rays from -45 to +45 degrees. Before this change, endpoint samples can select the wrong cubemap edge and produce an incorrect range or point. After applying clamp addressing, endpoint coordinates remain on the intended cubemap edge.
This PR:
tex_address_mode clampon the sample table and all six cubemap-face textures used byGpuRaysScan2nd;The change affects sampler state only. It does not change the GPU-rays API, point-cloud layout, scan angles, or interior texture coordinates.
Validation:
1.0ffor both endpoint directions.Backport Policy
The original report's exact Gazebo release is still unconfirmed. Maintainer guidance is requested on which supported versions contain the affected Ogre2 material path.
Checklist
codecheckpassedAssisted-by: OpenAI Codex