mirror of
https://github.com/facebookresearch/pytorch3d.git
synced 2025-12-20 22:30:35 +08:00
NDC/screen cameras API fix, compatibility with renderer
Summary: API fix for NDC/screen cameras and compatibility with PyTorch3D renderers. With this new fix: * Users can define cameras and `transform_points` under any coordinate system conventions. The transformation applies the camera K and RT to the input points, not regarding for PyTorch3D conventions. So this makes cameras completely independent from PyTorch3D renderer. * Cameras can be defined either in NDC space or screen space. For existing ones, FoV cameras are in NDC space. Perspective/Orthographic can be defined in NDC or screen space. * The interface with PyTorch3D renderers happens through `transform_points_ndc` which transforms points to the NDC space and assumes that input points are provided according to PyTorch3D conventions. * Similarly, `transform_points_screen` transforms points to screen space and again assumes that input points are under PyTorch3D conventions. * For Orthographic/Perspective cameras, if they are defined in screen space, the `get_ndc_camera_transform` allows points to be converted to NDC for use for the renderers. Reviewed By: nikhilaravi Differential Revision: D26932657 fbshipit-source-id: 1a964e3e7caa54d10c792cf39c4d527ba2fb2e79
This commit is contained in:
committed by
Facebook GitHub Bot
parent
9a14f54e8b
commit
0c32f094af
@@ -255,9 +255,20 @@ class TestRenderMeshes(TestCaseMixin, unittest.TestCase):
|
||||
device=device,
|
||||
R=R,
|
||||
T=T,
|
||||
principal_point=((256.0, 256.0),),
|
||||
focal_length=((256.0, 256.0),),
|
||||
principal_point=(
|
||||
(
|
||||
(512.0 - 1.0) / 2.0,
|
||||
(512.0 - 1.0) / 2.0,
|
||||
),
|
||||
),
|
||||
focal_length=(
|
||||
(
|
||||
(512.0 - 1.0) / 2.0,
|
||||
(512.0 - 1.0) / 2.0,
|
||||
),
|
||||
),
|
||||
image_size=((512, 512),),
|
||||
in_ndc=False,
|
||||
)
|
||||
rasterizer = MeshRasterizer(
|
||||
cameras=cameras, raster_settings=raster_settings
|
||||
|
||||
Reference in New Issue
Block a user