mirror of
https://github.com/facebookresearch/pytorch3d.git
synced 2025-12-20 22:30:35 +08:00
Fix look_at_view_transform when object location is not (0,0,0) (#230)
Summary: The look_at_view_transform did not give the correct results when the object location `at` was not (0,0,0). The problem was on computing the cameras' location in world's coordinate `C`. It only took into account the camera position from spherical angles, but ignored the object location in the world's coordinate system. I simply modified the C tensor to take into account the object's location which is not necessarily in the origin. I ran unit tests and all but 4 failed with the same error message: `RuntimeError: CUDA error: invalid device ordinal`. However the same happens before this patch, so I believe these errors are unrelated. Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/230 Reviewed By: gkioxari Differential Revision: D23278126 Pulled By: nikhilaravi fbshipit-source-id: c06e891bc46de8222325ee7b37aa43cde44648e8
This commit is contained in:
committed by
Facebook GitHub Bot
parent
778383eef7
commit
d0cec028c7
@@ -1280,8 +1280,11 @@ def look_at_view_transform(
|
||||
dist, elev, azim, at, up, device=device
|
||||
)
|
||||
dist, elev, azim, at, up = broadcasted_args
|
||||
C = camera_position_from_spherical_angles(
|
||||
dist, elev, azim, degrees=degrees, device=device
|
||||
C = (
|
||||
camera_position_from_spherical_angles(
|
||||
dist, elev, azim, degrees=degrees, device=device
|
||||
)
|
||||
+ at
|
||||
)
|
||||
|
||||
R = look_at_rotation(C, at, up, device=device)
|
||||
|
||||
Reference in New Issue
Block a user