├── .circleci ├── build_count.py ├── check.sh ├── config.in.yml ├── config.yml └── regenerate.py ├── .clang-format ├── .flake8 ├── .github ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE │ ├── bugs.md │ ├── config.yml │ ├── feature_request.md │ └── questions-help.md ├── bundle_adjust.gif ├── camera_position_teapot.gif ├── cow_deform.gif ├── densepose_render.png ├── dolphin_deform.gif ├── fit_nerf.gif ├── fit_textured_volume.gif ├── implicitron_config.gif ├── nerf_project_logo.gif ├── pointcloud_render.png ├── pytorch3dlogo.png ├── render_textured_mesh.gif └── shapenet_render.png ├── .gitignore ├── INSTALL.md ├── LICENSE ├── LICENSE-3RD-PARTY ├── README.md ├── dev ├── linter.sh ├── run_tutorials.sh └── test_list.py ├── docs ├── .gitignore ├── Makefile ├── README.md ├── conf.py ├── examples │ ├── pulsar_basic.py │ ├── pulsar_basic_unified.py │ ├── pulsar_cam.py │ ├── pulsar_cam_unified.py │ ├── pulsar_multiview.py │ ├── pulsar_optimization.py │ └── pulsar_optimization_unified.py ├── generate_stubs.py ├── index.rst ├── modules │ ├── common.rst │ ├── datasets.rst │ ├── implicitron │ │ ├── data_basics.rst │ │ ├── datasets.rst │ │ ├── evaluation.rst │ │ ├── index.rst │ │ ├── models │ │ │ ├── base_model.rst │ │ │ ├── feature_extractor │ │ │ │ ├── feature_extractor.rst │ │ │ │ ├── index.rst │ │ │ │ └── resnet_feature_extractor.rst │ │ │ ├── generic_model.rst │ │ │ ├── global_encoder │ │ │ │ ├── autodecoder.rst │ │ │ │ ├── global_encoder.rst │ │ │ │ └── index.rst │ │ │ ├── implicit_function │ │ │ │ ├── base.rst │ │ │ │ ├── decoding_functions.rst │ │ │ │ ├── idr_feature_field.rst │ │ │ │ ├── index.rst │ │ │ │ ├── neural_radiance_field.rst │ │ │ │ ├── scene_representation_networks.rst │ │ │ │ ├── utils.rst │ │ │ │ ├── voxel_grid.rst │ │ │ │ └── voxel_grid_implicit_function.rst │ │ │ ├── index.rst │ │ │ ├── metrics.rst │ │ │ ├── model_dbir.rst │ │ │ ├── renderer │ │ │ │ ├── base.rst │ │ │ │ ├── index.rst │ │ │ │ ├── lstm_renderer.rst │ │ │ │ ├── multipass_ea.rst │ │ │ │ ├── ray_point_refiner.rst │ │ │ │ ├── ray_sampler.rst │ │ │ │ ├── ray_tracing.rst │ │ │ │ ├── raymarcher.rst │ │ │ │ ├── rgb_net.rst │ │ │ │ └── sdf_renderer.rst │ │ │ ├── view_pooler │ │ │ │ ├── feature_aggregator.rst │ │ │ │ ├── index.rst │ │ │ │ ├── view_pooler.rst │ │ │ │ └── view_sampler.rst │ │ │ └── visualization │ │ │ │ ├── index.rst │ │ │ │ └── render_flyaround.rst │ │ └── tools.rst │ ├── index.rst │ ├── io.rst │ ├── loss.rst │ ├── ops.rst │ ├── renderer │ │ ├── blending.rst │ │ ├── camera_conversions.rst │ │ ├── camera_utils.rst │ │ ├── cameras.rst │ │ ├── compositing.rst │ │ ├── fisheyecameras.rst │ │ ├── implicit │ │ │ ├── harmonic_embedding.rst │ │ │ ├── index.rst │ │ │ ├── raymarching.rst │ │ │ ├── raysampling.rst │ │ │ ├── renderer.rst │ │ │ ├── sample_pdf.rst │ │ │ └── utils.rst │ │ ├── index.rst │ │ ├── lighting.rst │ │ ├── materials.rst │ │ ├── mesh │ │ │ ├── clip.rst │ │ │ ├── index.rst │ │ │ ├── rasterize_meshes.rst │ │ │ ├── rasterizer.rst │ │ │ ├── renderer.rst │ │ │ ├── shader.rst │ │ │ ├── shading.rst │ │ │ ├── textures.rst │ │ │ └── utils.rst │ │ ├── opengl │ │ │ ├── index.rst │ │ │ ├── opengl_utils.rst │ │ │ └── rasterizer_opengl.rst │ │ ├── points │ │ │ ├── compositor.rst │ │ │ ├── index.rst │ │ │ ├── pulsar │ │ │ │ ├── index.rst │ │ │ │ ├── renderer.rst │ │ │ │ └── unified.rst │ │ │ ├── rasterize_points.rst │ │ │ ├── rasterizer.rst │ │ │ └── renderer.rst │ │ ├── splatter_blend.rst │ │ └── utils.rst │ ├── structures.rst │ ├── transforms.rst │ ├── utils.rst │ └── vis │ │ ├── index.rst │ │ ├── plotly_vis.rst │ │ └── texture_vis.rst ├── notes │ ├── assets │ │ ├── architecture_renderer.jpg │ │ ├── batch_intro.png │ │ ├── batch_modes.gif │ │ ├── fullset_batch_size_16.png │ │ ├── iou3d.gif │ │ ├── iou3d_comp.png │ │ ├── meshrcnn.png │ │ ├── opengl_coordframes.png │ │ ├── p3d_naive_vs_coarse.png │ │ ├── p3d_vs_softras.png │ │ ├── plotly_meshes_batch.png │ │ ├── plotly_meshes_trace.png │ │ ├── plotly_pointclouds.png │ │ ├── pulsar_bm.png │ │ ├── texturing.jpg │ │ ├── transforms_overview.jpg │ │ └── world_camera_image.jpg │ ├── batching.md │ ├── cameras.md │ ├── cubify.md │ ├── datasets.md │ ├── io.md │ ├── iou3d.md │ ├── meshes_io.md │ ├── renderer.md │ ├── renderer_getting_started.md │ ├── visualization.md │ └── why_pytorch3d.md ├── requirements.txt └── tutorials │ ├── README.md │ ├── bundle_adjustment.ipynb │ ├── camera_position_optimization_with_differentiable_rendering.ipynb │ ├── data │ ├── bundle_adjustment_final.png │ ├── bundle_adjustment_initialization.png │ ├── camera_graph.pth │ ├── cow_mesh │ │ ├── README.md │ │ ├── cow.mtl │ │ ├── cow.obj │ │ └── cow_texture.png │ └── teapot.obj │ ├── dataloaders_ShapeNetCore_R2N2.ipynb │ ├── deform_source_mesh_to_target_mesh.ipynb │ ├── fit_simple_neural_radiance_field.ipynb │ ├── fit_textured_mesh.ipynb │ ├── fit_textured_volume.ipynb │ ├── implicitron_config_system.ipynb │ ├── implicitron_volumes.ipynb │ ├── render_colored_points.ipynb │ ├── render_densepose.ipynb │ ├── render_textured_meshes.ipynb │ └── utils │ ├── __init__.py │ ├── camera_visualization.py │ ├── generate_cow_renders.py │ └── plot_image_grid.py ├── packaging ├── build_conda.py ├── build_wheel.sh ├── conda │ ├── build_pytorch3d.sh │ ├── install_conda.bat │ └── switch_cuda_version.sh ├── cub_conda │ ├── README.md │ └── cub │ │ └── meta.yaml ├── linux_wheels │ ├── README.md │ ├── after.sh │ ├── go.sh │ ├── inside.sh │ └── publish.py ├── pkg_helpers.bash ├── pytorch3d │ └── meta.yaml ├── vs2017 │ ├── activate.bat │ ├── conda_build_config.yaml │ ├── install_activate.bat │ ├── install_runtime.bat │ └── meta.yaml └── vs2019 │ ├── activate.bat │ ├── conda_build_config.yaml │ ├── install_activate.bat │ ├── install_runtime.bat │ └── meta.yaml ├── projects ├── __init__.py ├── implicitron_trainer │ ├── README.md │ ├── __init__.py │ ├── configs │ │ ├── overfit_base.yaml │ │ ├── overfit_singleseq_base.yaml │ │ ├── overfit_singleseq_nerf_blender.yaml │ │ ├── repro_base.yaml │ │ ├── repro_feat_extractor_normed.yaml │ │ ├── repro_feat_extractor_transformer.yaml │ │ ├── repro_feat_extractor_unnormed.yaml │ │ ├── repro_multiseq_base.yaml │ │ ├── repro_multiseq_co3dv2_base.yaml │ │ ├── repro_multiseq_idr_ad.yaml │ │ ├── repro_multiseq_nerf_ad.yaml │ │ ├── repro_multiseq_nerf_wce.yaml │ │ ├── repro_multiseq_nerformer.yaml │ │ ├── repro_multiseq_nerformer_angle_w.yaml │ │ ├── repro_multiseq_srn_ad_hypernet.yaml │ │ ├── repro_multiseq_srn_ad_hypernet_noharm.yaml │ │ ├── repro_multiseq_srn_wce.yaml │ │ ├── repro_multiseq_srn_wce_noharm.yaml │ │ ├── repro_multiseq_v2_nerf_wce.yaml │ │ ├── repro_multiseq_v2_nerformer.yaml │ │ ├── repro_multiseq_v2_srn_ad_hypernet.yaml │ │ ├── repro_multiseq_v2_srn_wce.yaml │ │ ├── repro_singleseq_base.yaml │ │ ├── repro_singleseq_co3dv2_base.yaml │ │ ├── repro_singleseq_idr.yaml │ │ ├── repro_singleseq_nerf.yaml │ │ ├── repro_singleseq_nerf_blender.yaml │ │ ├── repro_singleseq_nerf_wce.yaml │ │ ├── repro_singleseq_nerformer.yaml │ │ ├── repro_singleseq_srn.yaml │ │ ├── repro_singleseq_srn_noharm.yaml │ │ ├── repro_singleseq_srn_wce.yaml │ │ ├── repro_singleseq_srn_wce_noharm.yaml │ │ ├── repro_singleseq_v2_idr.yaml │ │ ├── repro_singleseq_v2_nerf.yaml │ │ ├── repro_singleseq_v2_nerformer.yaml │ │ ├── repro_singleseq_v2_srn_noharm.yaml │ │ └── repro_singleseq_wce_base.yaml │ ├── experiment.py │ ├── impl │ │ ├── __init__.py │ │ ├── model_factory.py │ │ ├── optimizer_factory.py │ │ ├── training_loop.py │ │ └── utils.py │ ├── tests │ │ ├── __init__.py │ │ ├── experiment.yaml │ │ ├── test_experiment.py │ │ ├── test_optimizer_factory.py │ │ ├── test_visualize.py │ │ └── utils.py │ └── visualize_reconstruction.py └── nerf │ ├── .gitignore │ ├── README.md │ ├── __init__.py │ ├── configs │ ├── fern.yaml │ ├── lego.yaml │ └── pt3logo.yaml │ ├── nerf │ ├── __init__.py │ ├── dataset.py │ ├── eval_video_utils.py │ ├── implicit_function.py │ ├── nerf_renderer.py │ ├── raymarcher.py │ ├── raysampler.py │ ├── stats.py │ └── utils.py │ ├── test_nerf.py │ ├── tests │ ├── __init__.py │ ├── test_raymarcher.py │ └── test_raysampler.py │ └── train_nerf.py ├── pytorch3d ├── __init__.py ├── common │ ├── __init__.py │ ├── compat.py │ ├── datatypes.py │ ├── linear_with_repeat.py │ └── workaround │ │ ├── __init__.py │ │ ├── symeig3x3.py │ │ └── utils.py ├── csrc │ ├── ball_query │ │ ├── ball_query.cu │ │ ├── ball_query.h │ │ └── ball_query_cpu.cpp │ ├── blending │ │ ├── sigmoid_alpha_blend.cu │ │ ├── sigmoid_alpha_blend.h │ │ └── sigmoid_alpha_blend_cpu.cpp │ ├── compositing │ │ ├── alpha_composite.cu │ │ ├── alpha_composite.h │ │ ├── alpha_composite_cpu.cpp │ │ ├── norm_weighted_sum.cu │ │ ├── norm_weighted_sum.h │ │ ├── norm_weighted_sum_cpu.cpp │ │ ├── weighted_sum.cu │ │ ├── weighted_sum.h │ │ └── weighted_sum_cpu.cpp │ ├── ext.cpp │ ├── face_areas_normals │ │ ├── face_areas_normals.cu │ │ ├── face_areas_normals.h │ │ └── face_areas_normals_cpu.cpp │ ├── gather_scatter │ │ ├── gather_scatter.cu │ │ ├── gather_scatter.h │ │ └── gather_scatter_cpu.cpp │ ├── interp_face_attrs │ │ ├── interp_face_attrs.cu │ │ └── interp_face_attrs.h │ ├── iou_box3d │ │ ├── iou_box3d.cu │ │ ├── iou_box3d.h │ │ ├── iou_box3d_cpu.cpp │ │ ├── iou_utils.cuh │ │ └── iou_utils.h │ ├── knn │ │ ├── knn.cu │ │ ├── knn.h │ │ └── knn_cpu.cpp │ ├── marching_cubes │ │ ├── marching_cubes.cu │ │ ├── marching_cubes.h │ │ ├── marching_cubes_cpu.cpp │ │ ├── marching_cubes_utils.h │ │ └── tables.h │ ├── mesh_normal_consistency │ │ ├── mesh_normal_consistency.h │ │ └── mesh_normal_consistency_cpu.cpp │ ├── packed_to_padded_tensor │ │ ├── packed_to_padded_tensor.cu │ │ ├── packed_to_padded_tensor.h │ │ └── packed_to_padded_tensor_cpu.cpp │ ├── point_mesh │ │ ├── point_mesh_cpu.cpp │ │ ├── point_mesh_cuda.cu │ │ └── point_mesh_cuda.h │ ├── points_to_volumes │ │ ├── points_to_volumes.cu │ │ ├── points_to_volumes.h │ │ └── points_to_volumes_cpu.cpp │ ├── pulsar │ │ ├── constants.h │ │ ├── cuda │ │ │ ├── README.md │ │ │ ├── commands.h │ │ │ ├── renderer.backward.gpu.cu │ │ │ ├── renderer.backward_dbg.gpu.cu │ │ │ ├── renderer.calc_gradients.gpu.cu │ │ │ ├── renderer.calc_signature.gpu.cu │ │ │ ├── renderer.construct.gpu.cu │ │ │ ├── renderer.create_selector.gpu.cu │ │ │ ├── renderer.destruct.gpu.cu │ │ │ ├── renderer.fill_bg.gpu.cu │ │ │ ├── renderer.forward.gpu.cu │ │ │ ├── renderer.norm_cam_gradients.gpu.cu │ │ │ ├── renderer.norm_sphere_gradients.gpu.cu │ │ │ └── renderer.render.gpu.cu │ │ ├── global.h │ │ ├── host │ │ │ ├── README.md │ │ │ ├── commands.h │ │ │ ├── renderer.backward.cpu.cpp │ │ │ ├── renderer.backward_dbg.cpu.cpp │ │ │ ├── renderer.calc_gradients.cpu.cpp │ │ │ ├── renderer.calc_signature.cpu.cpp │ │ │ ├── renderer.construct.cpu.cpp │ │ │ ├── renderer.create_selector.cpu.cpp │ │ │ ├── renderer.destruct.cpu.cpp │ │ │ ├── renderer.fill_bg.cpu.cpp │ │ │ ├── renderer.forward.cpu.cpp │ │ │ ├── renderer.norm_cam_gradients.cpu.cpp │ │ │ ├── renderer.norm_sphere_gradients.cpu.cpp │ │ │ └── renderer.render.cpu.cpp │ │ ├── include │ │ │ ├── README.md │ │ │ ├── camera.device.h │ │ │ ├── camera.h │ │ │ ├── closest_sphere_tracker.device.h │ │ │ ├── commands.h │ │ │ ├── fastermath.h │ │ │ ├── math.h │ │ │ ├── renderer.backward.device.h │ │ │ ├── renderer.backward.instantiate.h │ │ │ ├── renderer.backward_dbg.device.h │ │ │ ├── renderer.backward_dbg.instantiate.h │ │ │ ├── renderer.calc_gradients.device.h │ │ │ ├── renderer.calc_gradients.instantiate.h │ │ │ ├── renderer.calc_signature.device.h │ │ │ ├── renderer.calc_signature.instantiate.h │ │ │ ├── renderer.construct.device.h │ │ │ ├── renderer.construct.instantiate.h │ │ │ ├── renderer.create_selector.device.h │ │ │ ├── renderer.create_selector.instantiate.h │ │ │ ├── renderer.destruct.device.h │ │ │ ├── renderer.destruct.instantiate.h │ │ │ ├── renderer.draw.device.h │ │ │ ├── renderer.fill_bg.device.h │ │ │ ├── renderer.fill_bg.instantiate.h │ │ │ ├── renderer.forward.device.h │ │ │ ├── renderer.forward.instantiate.h │ │ │ ├── renderer.get_screen_area.device.h │ │ │ ├── renderer.h │ │ │ ├── renderer.norm_cam_gradients.device.h │ │ │ ├── renderer.norm_cam_gradients.instantiate.h │ │ │ ├── renderer.norm_sphere_gradients.device.h │ │ │ ├── renderer.norm_sphere_gradients.instantiate.h │ │ │ ├── renderer.render.device.h │ │ │ └── renderer.render.instantiate.h │ │ ├── logging.h │ │ ├── pytorch │ │ │ ├── camera.cpp │ │ │ ├── camera.h │ │ │ ├── renderer.cpp │ │ │ ├── renderer.h │ │ │ ├── tensor_util.cpp │ │ │ ├── tensor_util.h │ │ │ ├── util.cpp │ │ │ └── util.h │ │ └── warnings.cpp │ ├── rasterize_coarse │ │ ├── bitmask.cuh │ │ ├── rasterize_coarse.cu │ │ └── rasterize_coarse.h │ ├── rasterize_meshes │ │ ├── rasterize_meshes.cu │ │ ├── rasterize_meshes.h │ │ └── rasterize_meshes_cpu.cpp │ ├── rasterize_points │ │ ├── rasterization_utils.cuh │ │ ├── rasterization_utils.h │ │ ├── rasterize_points.cu │ │ ├── rasterize_points.h │ │ └── rasterize_points_cpu.cpp │ ├── sample_farthest_points │ │ ├── sample_farthest_points.cu │ │ ├── sample_farthest_points.h │ │ └── sample_farthest_points_cpu.cpp │ ├── sample_pdf │ │ ├── sample_pdf.cu │ │ ├── sample_pdf.h │ │ └── sample_pdf_cpu.cpp │ └── utils │ │ ├── dispatch.cuh │ │ ├── float_math.cuh │ │ ├── geometry_utils.cuh │ │ ├── geometry_utils.h │ │ ├── index_utils.cuh │ │ ├── mink.cuh │ │ ├── pytorch3d_cutils.h │ │ ├── vec2.h │ │ ├── vec3.h │ │ └── warp_reduce.cuh ├── datasets │ ├── __init__.py │ ├── r2n2 │ │ ├── __init__.py │ │ ├── r2n2.py │ │ ├── r2n2_synset_dict.json │ │ └── utils.py │ ├── shapenet │ │ ├── __init__.py │ │ ├── shapenet_core.py │ │ ├── shapenet_synset_dict_v1.json │ │ └── shapenet_synset_dict_v2.json │ ├── shapenet_base.py │ └── utils.py ├── implicitron │ ├── __init__.py │ ├── dataset │ │ ├── __init__.py │ │ ├── blender_dataset_map_provider.py │ │ ├── data_loader_map_provider.py │ │ ├── data_source.py │ │ ├── dataset_base.py │ │ ├── dataset_map_provider.py │ │ ├── frame_data.py │ │ ├── json_index_dataset.py │ │ ├── json_index_dataset_map_provider.py │ │ ├── json_index_dataset_map_provider_v2.py │ │ ├── llff_dataset_map_provider.py │ │ ├── load_blender.py │ │ ├── load_llff.py │ │ ├── orm_types.py │ │ ├── rendered_mesh_dataset_map_provider.py │ │ ├── scene_batch_sampler.py │ │ ├── single_sequence_dataset.py │ │ ├── sql_dataset.py │ │ ├── sql_dataset_provider.py │ │ ├── train_eval_data_loader_provider.py │ │ ├── types.py │ │ ├── utils.py │ │ └── visualize.py │ ├── eval_demo.py │ ├── evaluation │ │ ├── __init__.py │ │ ├── evaluate_new_view_synthesis.py │ │ └── evaluator.py │ ├── models │ │ ├── __init__.py │ │ ├── base_model.py │ │ ├── feature_extractor │ │ │ ├── __init__.py │ │ │ ├── feature_extractor.py │ │ │ └── resnet_feature_extractor.py │ │ ├── generic_model.py │ │ ├── global_encoder │ │ │ ├── __init__.py │ │ │ ├── autodecoder.py │ │ │ └── global_encoder.py │ │ ├── implicit_function │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── decoding_functions.py │ │ │ ├── idr_feature_field.py │ │ │ ├── neural_radiance_field.py │ │ │ ├── scene_representation_networks.py │ │ │ ├── utils.py │ │ │ ├── voxel_grid.py │ │ │ └── voxel_grid_implicit_function.py │ │ ├── metrics.py │ │ ├── model_dbir.py │ │ ├── overfit_model.py │ │ ├── renderer │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── lstm_renderer.py │ │ │ ├── multipass_ea.py │ │ │ ├── ray_point_refiner.py │ │ │ ├── ray_sampler.py │ │ │ ├── ray_tracing.py │ │ │ ├── raymarcher.py │ │ │ ├── rgb_net.py │ │ │ └── sdf_renderer.py │ │ ├── utils.py │ │ ├── view_pooler │ │ │ ├── __init__.py │ │ │ ├── feature_aggregator.py │ │ │ ├── view_pooler.py │ │ │ └── view_sampler.py │ │ └── visualization │ │ │ ├── __init__.py │ │ │ └── render_flyaround.py │ ├── third_party │ │ ├── __init__.py │ │ ├── hyperlayers.py │ │ └── pytorch_prototyping.py │ └── tools │ │ ├── __init__.py │ │ ├── camera_utils.py │ │ ├── circle_fitting.py │ │ ├── config.py │ │ ├── depth_cleanup.py │ │ ├── eval_video_trajectory.py │ │ ├── image_utils.py │ │ ├── metric_utils.py │ │ ├── model_io.py │ │ ├── point_cloud_utils.py │ │ ├── rasterize_mc.py │ │ ├── stats.py │ │ ├── utils.py │ │ ├── video_writer.py │ │ └── vis_utils.py ├── io │ ├── __init__.py │ ├── experimental_gltf_io.py │ ├── mtl_io.py │ ├── obj_io.py │ ├── off_io.py │ ├── pluggable.py │ ├── pluggable_formats.py │ ├── ply_io.py │ └── utils.py ├── loss │ ├── __init__.py │ ├── chamfer.py │ ├── mesh_edge_loss.py │ ├── mesh_laplacian_smoothing.py │ ├── mesh_normal_consistency.py │ └── point_mesh_distance.py ├── ops │ ├── __init__.py │ ├── ball_query.py │ ├── cameras_alignment.py │ ├── cubify.py │ ├── graph_conv.py │ ├── interp_face_attrs.py │ ├── iou_box3d.py │ ├── knn.py │ ├── laplacian_matrices.py │ ├── marching_cubes.py │ ├── marching_cubes_data.py │ ├── mesh_face_areas_normals.py │ ├── mesh_filtering.py │ ├── packed_to_padded.py │ ├── perspective_n_points.py │ ├── points_alignment.py │ ├── points_normals.py │ ├── points_to_volumes.py │ ├── sample_farthest_points.py │ ├── sample_points_from_meshes.py │ ├── subdivide_meshes.py │ ├── utils.py │ └── vert_align.py ├── renderer │ ├── __init__.py │ ├── blending.py │ ├── camera_conversions.py │ ├── camera_utils.py │ ├── cameras.py │ ├── compositing.py │ ├── fisheyecameras.py │ ├── implicit │ │ ├── __init__.py │ │ ├── harmonic_embedding.py │ │ ├── raymarching.py │ │ ├── raysampling.py │ │ ├── renderer.py │ │ ├── sample_pdf.py │ │ └── utils.py │ ├── lighting.py │ ├── materials.py │ ├── mesh │ │ ├── __init__.py │ │ ├── clip.py │ │ ├── rasterize_meshes.py │ │ ├── rasterizer.py │ │ ├── renderer.py │ │ ├── shader.py │ │ ├── shading.py │ │ ├── textures.py │ │ └── utils.py │ ├── opengl │ │ ├── __init__.py │ │ ├── opengl_utils.py │ │ └── rasterizer_opengl.py │ ├── points │ │ ├── __init__.py │ │ ├── compositor.py │ │ ├── pulsar │ │ │ ├── __init__.py │ │ │ ├── renderer.py │ │ │ └── unified.py │ │ ├── rasterize_points.py │ │ ├── rasterizer.py │ │ └── renderer.py │ ├── splatter_blend.py │ └── utils.py ├── structures │ ├── __init__.py │ ├── meshes.py │ ├── pointclouds.py │ ├── utils.py │ └── volumes.py ├── transforms │ ├── __init__.py │ ├── math.py │ ├── rotation_conversions.py │ ├── se3.py │ ├── so3.py │ └── transform3d.py ├── utils │ ├── __init__.py │ ├── camera_conversions.py │ ├── checkerboard.py │ ├── ico_sphere.py │ └── torus.py └── vis │ ├── __init__.py │ ├── plotly_vis.py │ └── texture_vis.py ├── scripts ├── build_website.sh ├── parse_tutorials.py └── publish_website.sh ├── setup.cfg ├── setup.py ├── tests ├── __init__.py ├── benchmarks │ ├── __init__.py │ ├── bm_acos_linear_extrapolation.py │ ├── bm_ball_query.py │ ├── bm_barycentric_clipping.py │ ├── bm_blending.py │ ├── bm_cameras.py │ ├── bm_cameras_alignment.py │ ├── bm_chamfer.py │ ├── bm_cubify.py │ ├── bm_face_areas_normals.py │ ├── bm_graph_conv.py │ ├── bm_interpolate_face_attributes.py │ ├── bm_iou_box3d.py │ ├── bm_knn.py │ ├── bm_lighting.py │ ├── bm_main.py │ ├── bm_marching_cubes.py │ ├── bm_mesh_edge_loss.py │ ├── bm_mesh_io.py │ ├── bm_mesh_laplacian_smoothing.py │ ├── bm_mesh_normal_consistency.py │ ├── bm_mesh_rasterizer_transform.py │ ├── bm_meshes.py │ ├── bm_packed_to_padded.py │ ├── bm_perspective_n_points.py │ ├── bm_point_mesh_distance.py │ ├── bm_pointclouds.py │ ├── bm_points_alignment.py │ ├── bm_points_normals.py │ ├── bm_points_to_volumes.py │ ├── bm_pulsar.py │ ├── bm_rasterize_meshes.py │ ├── bm_rasterize_points.py │ ├── bm_raymarching.py │ ├── bm_raysampling.py │ ├── bm_render_implicit.py │ ├── bm_render_volumes.py │ ├── bm_sample_farthest_points.py │ ├── bm_sample_pdf.py │ ├── bm_sample_points_from_meshes.py │ ├── bm_se3.py │ ├── bm_so3.py │ ├── bm_subdivide_meshes.py │ ├── bm_symeig3x3.py │ └── bm_vert_align.py ├── common_testing.py ├── data │ ├── cow.glb │ ├── cv_project_points_precomputed.json │ ├── glb_cow.png │ ├── glb_cow_gray.png │ ├── icp_data.pth │ ├── missing_files_obj │ │ ├── model.mtl │ │ ├── model.obj │ │ └── model2.obj │ ├── missing_usemtl │ │ ├── README.md │ │ ├── cow.mtl │ │ ├── cow.obj │ │ └── cow_texture.png │ ├── obj_mtl_no_image │ │ ├── model.mtl │ │ └── model.obj │ ├── objectron_vols_ious.pt │ ├── real_boxes.pkl │ ├── room.jpg │ ├── test_FishEyeCameras_silhouette.png │ ├── test_FoVOrthographicCameras_silhouette.png │ ├── test_FoVPerspectiveCameras_silhouette.png │ ├── test_OrthographicCameras_silhouette.png │ ├── test_PerspectiveCameras_silhouette.png │ ├── test_blurry_textured_rendering.png │ ├── test_bridge_pointcloud.png │ ├── test_cow_image_rectangle_MeshRasterizer.png │ ├── test_cow_image_rectangle_MeshRasterizerOpenGL.png │ ├── test_cow_mesh_FishEyeCameras_radial_False_tangential_False_prism_False.png │ ├── test_cow_mesh_FishEyeCameras_radial_False_tangential_False_prism_True.png │ ├── test_cow_mesh_FishEyeCameras_radial_False_tangential_True_prism_False.png │ ├── test_cow_mesh_FishEyeCameras_radial_False_tangential_True_prism_True.png │ ├── test_cow_mesh_FishEyeCameras_radial_True_tangential_False_prism_False.png │ ├── test_cow_mesh_FishEyeCameras_radial_True_tangential_False_prism_True.png │ ├── test_cow_mesh_FishEyeCameras_radial_True_tangential_True_prism_False.png │ ├── test_cow_mesh_FishEyeCameras_radial_True_tangential_True_prism_True.png │ ├── test_fisheye_rasterized_sphere_MeshRasterizer.png │ ├── test_joinatlas_1_MeshRasterizer.png │ ├── test_joinatlas_1_MeshRasterizerOpenGL.png │ ├── test_joinatlas_2_MeshRasterizer.png │ ├── test_joinatlas_2_MeshRasterizerOpenGL.png │ ├── test_joinatlas_final_MeshRasterizer.png │ ├── test_joinatlas_final_MeshRasterizerOpenGL.png │ ├── test_joined_spheres_flat.png │ ├── test_joined_spheres_gouraud.png │ ├── test_joined_spheres_phong.png │ ├── test_joined_spheres_splatter.png │ ├── test_joinuvs0_MeshRasterizerOpenGL_final.png │ ├── test_joinuvs0_MeshRasterizer_final.png │ ├── test_joinuvs0_map.png │ ├── test_joinuvs1_MeshRasterizerOpenGL_final.png │ ├── test_joinuvs1_MeshRasterizer_final.png │ ├── test_joinuvs1_map.png │ ├── test_joinuvs2_MeshRasterizerOpenGL_final.png │ ├── test_joinuvs2_MeshRasterizer_final.png │ ├── test_joinuvs2_map.png │ ├── test_joinverts_final_MeshRasterizer.png │ ├── test_joinverts_final_MeshRasterizerOpenGL.png │ ├── test_marching_cubes_data │ │ ├── double_ellipsoid.pickle │ │ └── sphere_level64.pickle │ ├── test_nd_sphere.png │ ├── test_perspective_rasterized_sphere_MeshRasterizer.png │ ├── test_pointcloud_rectangle_image.png │ ├── test_pulsar_simple_pointcloud_sphere_azimuth0.0_fovorthographic.png │ ├── test_pulsar_simple_pointcloud_sphere_azimuth0.0_fovperspective.png │ ├── test_pulsar_simple_pointcloud_sphere_azimuth0.0_orthographic.png │ ├── test_pulsar_simple_pointcloud_sphere_azimuth0.0_perspective.png │ ├── test_pulsar_simple_pointcloud_sphere_azimuth90.0_fovorthographic.png │ ├── test_pulsar_simple_pointcloud_sphere_azimuth90.0_fovperspective.png │ ├── test_pulsar_simple_pointcloud_sphere_azimuth90.0_orthographic.png │ ├── test_pulsar_simple_pointcloud_sphere_azimuth90.0_perspective.png │ ├── test_r2n2_render_by_categories_0.png │ ├── test_r2n2_render_by_categories_1.png │ ├── test_r2n2_render_by_categories_2.png │ ├── test_r2n2_render_by_idxs_and_ids_0.png │ ├── test_r2n2_render_by_idxs_and_ids_1.png │ ├── test_r2n2_render_by_idxs_and_ids_2.png │ ├── test_r2n2_render_with_blender_calibrations_0.png │ ├── test_r2n2_render_with_blender_calibrations_1.png │ ├── test_r2n2_render_with_blender_calibrations_2.png │ ├── test_r2n2_render_with_blender_calibrations_3.png │ ├── test_r2n2_voxel_to_mesh_render.png │ ├── test_rasterized_fisheye_sphere_points.png │ ├── test_rasterized_perspective_sphere_points.png │ ├── test_rasterized_sphere_MeshRasterizer.png │ ├── test_rasterized_sphere_MeshRasterizerOpenGL.png │ ├── test_rasterized_sphere_zoom_MeshRasterizer.png │ ├── test_rasterized_sphere_zoom_MeshRasterizerOpenGL.png │ ├── test_render_fisheye_sphere_points.png │ ├── test_shapenet_core_render_mixed_by_categories_0.png │ ├── test_shapenet_core_render_mixed_by_categories_1.png │ ├── test_shapenet_core_render_mixed_by_categories_2.png │ ├── test_shapenet_core_render_piano.png │ ├── test_shapenet_core_render_piano_0.png │ ├── test_shapenet_core_render_piano_1.png │ ├── test_shapenet_core_render_piano_2.png │ ├── test_shapenet_core_render_without_sample_nums_0.png │ ├── test_shapenet_core_render_without_sample_nums_1.png │ ├── test_simple_pointcloud_sphere.png │ ├── test_simple_sphere_batched_flat_FoVPerspectiveCameras.png │ ├── test_simple_sphere_batched_flat_FoVPerspectiveCameras_0.png │ ├── test_simple_sphere_batched_flat_FoVPerspectiveCameras_1.png │ ├── test_simple_sphere_batched_flat_FoVPerspectiveCameras_2.png │ ├── test_simple_sphere_batched_gouraud_FoVPerspectiveCameras.png │ ├── test_simple_sphere_batched_gouraud_FoVPerspectiveCameras_0.png │ ├── test_simple_sphere_batched_gouraud_FoVPerspectiveCameras_1.png │ ├── test_simple_sphere_batched_gouraud_FoVPerspectiveCameras_2.png │ ├── test_simple_sphere_batched_phong_FoVPerspectiveCameras.png │ ├── test_simple_sphere_batched_phong_FoVPerspectiveCameras_0.png │ ├── test_simple_sphere_batched_phong_FoVPerspectiveCameras_1.png │ ├── test_simple_sphere_batched_phong_FoVPerspectiveCameras_2.png │ ├── test_simple_sphere_batched_splatter_FoVPerspectiveCameras_0.png │ ├── test_simple_sphere_batched_splatter_FoVPerspectiveCameras_1.png │ ├── test_simple_sphere_batched_splatter_FoVPerspectiveCameras_2.png │ ├── test_simple_sphere_dark_FishEyeCameras.png │ ├── test_simple_sphere_dark_FoVOrthographicCameras.png │ ├── test_simple_sphere_dark_FoVPerspectiveCameras.png │ ├── test_simple_sphere_dark_OrthographicCameras.png │ ├── test_simple_sphere_dark_PerspectiveCameras.png │ ├── test_simple_sphere_dark_elevated_FishEyeCameras.png │ ├── test_simple_sphere_dark_elevated_FoVOrthographicCameras.png │ ├── test_simple_sphere_dark_elevated_FoVPerspectiveCameras.png │ ├── test_simple_sphere_dark_elevated_OrthographicCameras.png │ ├── test_simple_sphere_dark_elevated_PerspectiveCameras.png │ ├── test_simple_sphere_dark_elevated_none_FishEyeCameras.png │ ├── test_simple_sphere_dark_none_FishEyeCameras.png │ ├── test_simple_sphere_dark_prism_FishEyeCameras.png │ ├── test_simple_sphere_dark_radial_FishEyeCameras.png │ ├── test_simple_sphere_dark_radial_tangential_prism_FishEyeCameras.png │ ├── test_simple_sphere_dark_tangential_FishEyeCameras.png │ ├── test_simple_sphere_dark_tangential_prism_FishEyeCameras.png │ ├── test_simple_sphere_light_flat_FishEyeCameras.png │ ├── test_simple_sphere_light_flat_FoVOrthographicCameras.png │ ├── test_simple_sphere_light_flat_FoVPerspectiveCameras.png │ ├── test_simple_sphere_light_flat_OrthographicCameras.png │ ├── test_simple_sphere_light_flat_PerspectiveCameras.png │ ├── test_simple_sphere_light_flat_elevated_FishEyeCameras.png │ ├── test_simple_sphere_light_flat_elevated_FoVOrthographicCameras.png │ ├── test_simple_sphere_light_flat_elevated_FoVPerspectiveCameras.png │ ├── test_simple_sphere_light_flat_elevated_OrthographicCameras.png │ ├── test_simple_sphere_light_flat_elevated_PerspectiveCameras.png │ ├── test_simple_sphere_light_flat_elevated_none_FishEyeCameras.png │ ├── test_simple_sphere_light_flat_none_FishEyeCameras.png │ ├── test_simple_sphere_light_gouraud_FishEyeCameras.png │ ├── test_simple_sphere_light_gouraud_FoVOrthographicCameras.png │ ├── test_simple_sphere_light_gouraud_FoVPerspectiveCameras.png │ ├── test_simple_sphere_light_gouraud_OrthographicCameras.png │ ├── test_simple_sphere_light_gouraud_PerspectiveCameras.png │ ├── test_simple_sphere_light_gouraud_elevated_FishEyeCameras.png │ ├── test_simple_sphere_light_gouraud_elevated_FoVOrthographicCameras.png │ ├── test_simple_sphere_light_gouraud_elevated_FoVPerspectiveCameras.png │ ├── test_simple_sphere_light_gouraud_elevated_OrthographicCameras.png │ ├── test_simple_sphere_light_gouraud_elevated_PerspectiveCameras.png │ ├── test_simple_sphere_light_gouraud_elevated_none_FishEyeCameras.png │ ├── test_simple_sphere_light_gouraud_none_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_flat_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_flat_elevated_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_flat_prism_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_flat_radial_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_flat_radial_tangential_prism_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_flat_tangential_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_flat_tangential_prism_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_gouraud_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_gouraud_elevated_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_gouraud_prism_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_gouraud_radial_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_gouraud_radial_tangential_prism_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_gouraud_tangential_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_gouraud_tangential_prism_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_phong_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_phong_elevated_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_phong_elevated_radial_tangential_prism_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_phong_none_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_phong_prism_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_phong_radial_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_phong_radial_tangential_prism_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_phong_tangential_FishEyeCameras.png │ ├── test_simple_sphere_light_hard_phong_tangential_prism_FishEyeCameras.png │ ├── test_simple_sphere_light_phong_FishEyeCameras.png │ ├── test_simple_sphere_light_phong_FoVOrthographicCameras.png │ ├── test_simple_sphere_light_phong_FoVPerspectiveCameras.png │ ├── test_simple_sphere_light_phong_OrthographicCameras.png │ ├── test_simple_sphere_light_phong_PerspectiveCameras.png │ ├── test_simple_sphere_light_phong_elevated_FishEyeCameras.png │ ├── test_simple_sphere_light_phong_elevated_FoVOrthographicCameras.png │ ├── test_simple_sphere_light_phong_elevated_FoVPerspectiveCameras.png │ ├── test_simple_sphere_light_phong_elevated_OrthographicCameras.png │ ├── test_simple_sphere_light_phong_elevated_PerspectiveCameras.png │ ├── test_simple_sphere_light_phong_none_FishEyeCameras.png │ ├── test_simple_sphere_light_splatter_FoVOrthographicCameras.png │ ├── test_simple_sphere_light_splatter_FoVPerspectiveCameras.png │ ├── test_simple_sphere_light_splatter_elevated_FoVOrthographicCameras.png │ ├── test_simple_sphere_light_splatter_elevated_FoVPerspectiveCameras.png │ ├── test_simple_sphere_outside_zfar_10000_MeshRasterizer.png │ ├── test_simple_sphere_outside_zfar_10000_MeshRasterizerOpenGL.png │ ├── test_simple_sphere_outside_zfar_100_MeshRasterizer.png │ ├── test_simple_sphere_outside_zfar_100_MeshRasterizerOpenGL.png │ ├── test_texture_atlas_8x8_back_MeshRasterizer.png │ ├── test_texture_atlas_8x8_back_MeshRasterizerOpenGL.png │ ├── test_texture_map_back_MeshRasterizer.png │ ├── test_texture_map_back_MeshRasterizerOpenGL.png │ ├── test_texture_map_front_MeshRasterizer.png │ └── test_texture_map_front_MeshRasterizerOpenGL.png ├── implicitron │ ├── __init__.py │ ├── common_resources.py │ ├── data │ │ ├── data_source.yaml │ │ ├── overrides.yaml │ │ └── sql_dataset │ │ │ ├── set_lists_100.json │ │ │ └── sql_dataset_100.sqlite │ ├── models │ │ ├── __init__.py │ │ ├── test_overfit_model.py │ │ └── test_utils.py │ ├── test_batch_sampler.py │ ├── test_bbox.py │ ├── test_build.py │ ├── test_circle_fitting.py │ ├── test_co3d_sql.py │ ├── test_config.py │ ├── test_config_use.py │ ├── test_data_cow.py │ ├── test_data_json_index.py │ ├── test_data_llff.py │ ├── test_data_source.py │ ├── test_dataset_visualize.py │ ├── test_eval_cameras.py │ ├── test_eval_demo.py │ ├── test_evaluation.py │ ├── test_extending_orm_types.py │ ├── test_forward_pass.py │ ├── test_frame_data_builder.py │ ├── test_json_index_dataset_provider_v2.py │ ├── test_model_visualize.py │ ├── test_orm_types.py │ ├── test_pointcloud_utils.py │ ├── test_ray_point_refiner.py │ ├── test_sql_dataset.py │ ├── test_srn.py │ ├── test_types.py │ ├── test_viewsampling.py │ ├── test_voxel_grid_implicit_function.py │ └── test_voxel_grids.py ├── pulsar │ ├── __init__.py │ ├── create_multiview.py │ ├── reference │ │ ├── examples_TestRenderer_test_cam.png │ │ ├── examples_TestRenderer_test_cam_ortho.png │ │ ├── examples_TestRenderer_test_multiview_0.png │ │ ├── examples_TestRenderer_test_multiview_1.png │ │ ├── examples_TestRenderer_test_multiview_2.png │ │ ├── examples_TestRenderer_test_multiview_3.png │ │ ├── examples_TestRenderer_test_multiview_4.png │ │ ├── examples_TestRenderer_test_multiview_5.png │ │ ├── examples_TestRenderer_test_multiview_6.png │ │ ├── examples_TestRenderer_test_multiview_7.png │ │ ├── examples_TestRenderer_test_smallopt.png │ │ ├── nr0000-in.pth │ │ └── nr0000-out.pth │ ├── test_channels.py │ ├── test_depth.py │ ├── test_forward.py │ ├── test_hands.py │ ├── test_ortho.py │ ├── test_out │ │ └── empty.txt │ └── test_small_spheres.py ├── test_acos_linear_extrapolation.py ├── test_ball_query.py ├── test_blending.py ├── test_build.py ├── test_camera_conversions.py ├── test_camera_pixels.py ├── test_camera_utils.py ├── test_cameras.py ├── test_cameras_alignment.py ├── test_chamfer.py ├── test_checkerboard.py ├── test_common_linear_with_repeat.py ├── test_common_testing.py ├── test_common_workaround.py ├── test_compositing.py ├── test_cubify.py ├── test_face_areas_normals.py ├── test_graph_conv.py ├── test_harmonic_embedding.py ├── test_interpolate_face_attributes.py ├── test_io_gltf.py ├── test_io_obj.py ├── test_io_off.py ├── test_io_ply.py ├── test_iou_box3d.py ├── test_knn.py ├── test_laplacian_matrices.py ├── test_lighting.py ├── test_marching_cubes.py ├── test_materials.py ├── test_mesh_edge_loss.py ├── test_mesh_filtering.py ├── test_mesh_laplacian_smoothing.py ├── test_mesh_normal_consistency.py ├── test_mesh_rendering_utils.py ├── test_meshes.py ├── test_opengl_utils.py ├── test_ops_utils.py ├── test_packed_to_padded.py ├── test_perspective_n_points.py ├── test_point_mesh_distance.py ├── test_pointclouds.py ├── test_points_alignment.py ├── test_points_normals.py ├── test_points_to_volumes.py ├── test_r2n2.py ├── test_rasterize_meshes.py ├── test_rasterize_points.py ├── test_rasterize_rectangle_images.py ├── test_rasterizer.py ├── test_raymarching.py ├── test_raysampling.py ├── test_render_implicit.py ├── test_render_meshes.py ├── test_render_meshes_clipped.py ├── test_render_multigpu.py ├── test_render_points.py ├── test_render_volumes.py ├── test_rendering_utils.py ├── test_rotation_conversions.py ├── test_sample_farthest_points.py ├── test_sample_pdf.py ├── test_sample_points_from_meshes.py ├── test_se3.py ├── test_shader.py ├── test_shapenet_core.py ├── test_so3.py ├── test_splatter_blend.py ├── test_struct_utils.py ├── test_subdivide_meshes.py ├── test_symeig3x3.py ├── test_texturing.py ├── test_transforms.py ├── test_vert_align.py ├── test_vis.py ├── test_volumes.py └── weights.pt └── website ├── .dockerignore ├── .gitignore ├── README.md ├── core ├── Footer.js ├── Tutorial.js └── TutorialSidebar.js ├── package.json ├── pages ├── en │ ├── help.js │ ├── index.js │ └── users.js └── tutorials │ └── index.js ├── sidebars.json ├── siteConfig.js ├── static ├── css │ ├── custom.css │ └── pygments.css └── img │ ├── batching.svg │ ├── colab_icon.png │ ├── favicon.ico │ ├── ops.png │ ├── ops.svg │ ├── oss_logo.png │ ├── pytorch3dfavicon.png │ ├── pytorch3dicon.svg │ ├── pytorch3dlogo.png │ ├── pytorch3dlogo.svg │ ├── pytorch3dlogowhite.svg │ ├── rendering.png │ └── rendering.svg └── tutorials.json /.circleci/build_count.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Copyright (c) Meta Platforms, Inc. and affiliates. 3 | # All rights reserved. 4 | # 5 | # This source code is licensed under the BSD-style license found in the 6 | # LICENSE file in the root directory of this source tree. 7 | 8 | """ 9 | Print the number of nightly builds 10 | """ 11 | 12 | from collections import Counter 13 | 14 | import yaml 15 | 16 | 17 | conf = yaml.safe_load(open("config.yml")) 18 | jobs = conf["workflows"]["build_and_test"]["jobs"] 19 | 20 | 21 | def jobtype(job): 22 | if isinstance(job, str): 23 | return job 24 | if len(job) == 1: 25 | [name] = job.keys() 26 | return name 27 | return "MULTIPLE PARTS" 28 | 29 | 30 | for i, j in Counter(map(jobtype, jobs)).items(): 31 | print(i, j) 32 | print() 33 | print(len(jobs)) 34 | -------------------------------------------------------------------------------- /.circleci/check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | # Copyright (c) Meta Platforms, Inc. and affiliates. 3 | # All rights reserved. 4 | # 5 | # This source code is licensed under the BSD-style license found in the 6 | # LICENSE file in the root directory of this source tree. 7 | 8 | # Run this script before committing config.yml to verify it is valid yaml. 9 | 10 | python -c 'import yaml; yaml.safe_load(open("config.yml"))' && echo OK - valid yaml 11 | 12 | msg="circleci not installed so can't check schema" 13 | command -v circleci > /dev/null && (cd ..; circleci config validate) || echo "$msg" 14 | -------------------------------------------------------------------------------- /.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | ignore = E203, E266, E501, W503, E221 3 | max-line-length = 88 4 | max-complexity = 18 5 | select = B,C,E,F,W,T4,B9 6 | exclude = build,__init__.py 7 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "\U0001F680 Feature Request" 3 | about: Submit a proposal/request for a new PyTorch3D feature 4 | 5 | --- 6 | 7 | ## 🚀 Feature 8 | 9 | 10 | NOTE: Please look at the existing list of Issues tagged with the label ['enhancement`](https://github.com/facebookresearch/pytorch3d/issues?q=label%3Aenhancement). **Only open a new issue if you do not see your feature request there**. 11 | 12 | ## Motivation 13 | 14 | 16 | 17 | ## Pitch 18 | 19 | 20 | 21 | NOTE: we only consider adding new features if they are useful for many users. 22 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/questions-help.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "❓ Questions" 3 | about: How do I do X with PyTorch3D? How does PyTorch3D do X? 4 | 5 | --- 6 | 7 | ## ❓ Questions on how to use PyTorch3D 8 | 9 | 10 | 11 | 12 | NOTE: Please look at the existing list of Issues tagged with the label ['question`](https://github.com/facebookresearch/pytorch3d/issues?q=label%3Aquestion) or ['how-to`](https://github.com/facebookresearch/pytorch3d/issues?q=label%3A%22how+to%22). **Only open a new issue if you cannot find an answer there**. 13 | 14 | Also note the following: 15 | 16 | 1. If you encountered any errors or unexpected issues while using PyTorch3D and need help resolving them, 17 | please use the "Bugs / Unexpected behaviors" issue template. 18 | 19 | 2. We do not answer general machine learning / computer vision questions that are not specific to 20 | PyTorch3D, such as how a model works or what algorithm/methods can be 21 | used to achieve X. 22 | -------------------------------------------------------------------------------- /.github/bundle_adjust.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/.github/bundle_adjust.gif -------------------------------------------------------------------------------- /.github/camera_position_teapot.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/.github/camera_position_teapot.gif -------------------------------------------------------------------------------- /.github/cow_deform.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/.github/cow_deform.gif -------------------------------------------------------------------------------- /.github/densepose_render.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/.github/densepose_render.png -------------------------------------------------------------------------------- /.github/dolphin_deform.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/.github/dolphin_deform.gif -------------------------------------------------------------------------------- /.github/fit_nerf.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/.github/fit_nerf.gif -------------------------------------------------------------------------------- /.github/fit_textured_volume.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/.github/fit_textured_volume.gif -------------------------------------------------------------------------------- /.github/implicitron_config.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/.github/implicitron_config.gif -------------------------------------------------------------------------------- /.github/nerf_project_logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/.github/nerf_project_logo.gif -------------------------------------------------------------------------------- /.github/pointcloud_render.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/.github/pointcloud_render.png -------------------------------------------------------------------------------- /.github/pytorch3dlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/.github/pytorch3dlogo.png -------------------------------------------------------------------------------- /.github/render_textured_mesh.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/.github/render_textured_mesh.gif -------------------------------------------------------------------------------- /.github/shapenet_render.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/.github/shapenet_render.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | dist/ 3 | *.egg-info/ 4 | **/__pycache__/ 5 | *-checkpoint.ipynb 6 | **/.ipynb_checkpoints 7 | **/.ipynb_checkpoints/** 8 | 9 | 10 | # Docusaurus site 11 | website/yarn.lock 12 | website/build/ 13 | website/i18n/ 14 | website/node_modules/* 15 | website/npm-debug.log 16 | 17 | ## Generated for tutorials 18 | website/_tutorials/ 19 | website/static/files/ 20 | website/pages/tutorials/* 21 | !website/pages/tutorials/index.js 22 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | source 2 | _build 3 | _static 4 | _template 5 | *-checkpoint.ipynb 6 | .ipynb_checkpoints 7 | .ipynb_checkpoints/** 8 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | # Minimal makefile for Sphinx documentation 8 | 9 | # You can set these variables from the command line, and also 10 | # from the environment for the first two. 11 | SPHINXOPTS = 12 | SPHINXBUILD = sphinx-build 13 | SOURCEDIR = . 14 | BUILDDIR = _build 15 | 16 | # Put it first so that "make" without argument is like "make help". 17 | help: 18 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 19 | 20 | .PHONY: help Makefile 21 | 22 | # Catch-all target: route all unknown targets to Sphinx using the new 23 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 24 | %: Makefile 25 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 26 | -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- 1 | Welcome to PyTorch3D's documentation! 2 | ===================================== 3 | 4 | PyTorch3D is a library of reusable components for Deep Learning with 3D data. 5 | 6 | Table of Contents 7 | ================= 8 | 9 | .. toctree:: 10 | :maxdepth: 2 11 | 12 | overview 13 | 14 | .. toctree:: 15 | :maxdepth: 2 16 | 17 | modules/index 18 | -------------------------------------------------------------------------------- /docs/modules/common.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.common 2 | =========================== 3 | 4 | .. automodule:: pytorch3d.common 5 | :members: 6 | :undoc-members: 7 | -------------------------------------------------------------------------------- /docs/modules/datasets.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.datasets 2 | =========================== 3 | 4 | Dataset loaders for datasets including ShapeNetCore. 5 | 6 | .. automodule:: pytorch3d.datasets 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/data_basics.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.dataset in general 2 | ======================================== 3 | 4 | Basics of data for implicitron 5 | 6 | .. automodule:: pytorch3d.implicitron.dataset.dataset_base 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | 11 | .. automodule:: pytorch3d.implicitron.dataset.dataset_map_provider 12 | :members: 13 | :undoc-members: 14 | :show-inheritance: 15 | 16 | .. automodule:: pytorch3d.implicitron.dataset.data_loader_map_provider 17 | :members: 18 | :undoc-members: 19 | :show-inheritance: 20 | 21 | .. automodule:: pytorch3d.implicitron.dataset.data_source 22 | :members: 23 | :undoc-members: 24 | :show-inheritance: 25 | 26 | .. automodule:: pytorch3d.implicitron.dataset.scene_batch_sampler 27 | :members: 28 | :undoc-members: 29 | :show-inheritance: 30 | -------------------------------------------------------------------------------- /docs/modules/implicitron/datasets.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.dataset specific datasets 2 | =============================================== 3 | 4 | specific datasets 5 | 6 | .. automodule:: pytorch3d.implicitron.dataset.blender_dataset_map_provider 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | 11 | .. automodule:: pytorch3d.implicitron.dataset.json_index_dataset_map_provider 12 | :members: 13 | :undoc-members: 14 | :show-inheritance: 15 | 16 | .. automodule:: pytorch3d.implicitron.dataset.json_index_dataset_map_provider_v2 17 | :members: 18 | :undoc-members: 19 | :show-inheritance: 20 | 21 | .. automodule:: pytorch3d.implicitron.dataset.llff_dataset_map_provider 22 | :members: 23 | :undoc-members: 24 | :show-inheritance: 25 | 26 | .. automodule:: pytorch3d.implicitron.dataset.rendered_mesh_dataset_map_provider 27 | :members: 28 | :undoc-members: 29 | :show-inheritance: 30 | -------------------------------------------------------------------------------- /docs/modules/implicitron/evaluation.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.evaluation 2 | ================================ 3 | 4 | evaluation 5 | 6 | .. automodule:: pytorch3d.implicitron.evaluation.evaluate_new_view_synthesis 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | 11 | .. automodule:: pytorch3d.implicitron.evaluation.evaluator 12 | :members: 13 | :undoc-members: 14 | :show-inheritance: 15 | -------------------------------------------------------------------------------- /docs/modules/implicitron/index.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron 2 | ===================== 3 | 4 | .. toctree:: 5 | 6 | models/index.rst 7 | data_basics 8 | datasets 9 | evaluation 10 | tools 11 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/base_model.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.base_model 2 | ======================================= 3 | 4 | base_model 5 | 6 | .. automodule:: pytorch3d.implicitron.models.base_model 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/feature_extractor/feature_extractor.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.feature_extractor.feature_extractor 2 | ================================================================ 3 | 4 | feature_extractor 5 | 6 | .. automodule:: pytorch3d.implicitron.models.feature_extractor.feature_extractor 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/feature_extractor/index.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.feature_extractor 2 | ============================================== 3 | 4 | .. toctree:: 5 | 6 | feature_extractor 7 | resnet_feature_extractor 8 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/feature_extractor/resnet_feature_extractor.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.feature_extractor.resnet_feature_extractor 2 | ======================================================================= 3 | 4 | resnet_feature_extractor 5 | 6 | .. automodule:: pytorch3d.implicitron.models.feature_extractor.resnet_feature_extractor 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/generic_model.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.generic_model 2 | ========================================== 3 | 4 | generic_model 5 | 6 | .. automodule:: pytorch3d.implicitron.models.generic_model 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/global_encoder/autodecoder.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.global_encoder.autodecoder 2 | ======================================================= 3 | 4 | autodecoder 5 | 6 | .. automodule:: pytorch3d.implicitron.models.global_encoder.autodecoder 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/global_encoder/global_encoder.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.global_encoder.global_encoder 2 | ========================================================== 3 | 4 | global_encoder 5 | 6 | .. automodule:: pytorch3d.implicitron.models.global_encoder.global_encoder 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/global_encoder/index.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.global_encoder 2 | =========================================== 3 | 4 | .. toctree:: 5 | 6 | autodecoder 7 | global_encoder 8 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/implicit_function/base.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.implicit_function.base 2 | =================================================== 3 | 4 | base 5 | 6 | .. automodule:: pytorch3d.implicitron.models.implicit_function.base 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/implicit_function/decoding_functions.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.implicit_function.decoding_functions 2 | ================================================================= 3 | 4 | decoding_functions 5 | 6 | .. automodule:: pytorch3d.implicitron.models.implicit_function.decoding_functions 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/implicit_function/idr_feature_field.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.implicit_function.idr_feature_field 2 | ================================================================ 3 | 4 | idr_feature_field 5 | 6 | .. automodule:: pytorch3d.implicitron.models.implicit_function.idr_feature_field 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/implicit_function/index.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.implicit_function 2 | ============================================== 3 | 4 | .. toctree:: 5 | 6 | base 7 | decoding_functions 8 | idr_feature_field 9 | neural_radiance_field 10 | scene_representation_networks 11 | utils 12 | voxel_grid 13 | voxel_grid_implicit_function 14 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/implicit_function/neural_radiance_field.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.implicit_function.neural_radiance_field 2 | ==================================================================== 3 | 4 | neural_radiance_field 5 | 6 | .. automodule:: pytorch3d.implicitron.models.implicit_function.neural_radiance_field 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/implicit_function/scene_representation_networks.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.implicit_function.scene_representation_networks 2 | ============================================================================ 3 | 4 | scene_representation_networks 5 | 6 | .. automodule:: pytorch3d.implicitron.models.implicit_function.scene_representation_networks 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/implicit_function/utils.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.implicit_function.utils 2 | ==================================================== 3 | 4 | utils 5 | 6 | .. automodule:: pytorch3d.implicitron.models.implicit_function.utils 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/implicit_function/voxel_grid.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.implicit_function.voxel_grid 2 | ========================================================= 3 | 4 | voxel_grid 5 | 6 | .. automodule:: pytorch3d.implicitron.models.implicit_function.voxel_grid 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/implicit_function/voxel_grid_implicit_function.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.implicit_function.voxel_grid_implicit_function 2 | =========================================================================== 3 | 4 | voxel_grid_implicit_function 5 | 6 | .. automodule:: pytorch3d.implicitron.models.implicit_function.voxel_grid_implicit_function 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/index.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models 2 | ============================ 3 | 4 | .. toctree:: 5 | 6 | base_model 7 | generic_model 8 | metrics 9 | model_dbir 10 | feature_extractor/index 11 | global_encoder/index 12 | implicit_function/index 13 | renderer/index 14 | view_pooler/index 15 | visualization/index 16 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/metrics.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.metrics 2 | ==================================== 3 | 4 | metrics 5 | 6 | .. automodule:: pytorch3d.implicitron.models.metrics 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/model_dbir.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.model_dbir 2 | ======================================= 3 | 4 | model_dbir 5 | 6 | .. automodule:: pytorch3d.implicitron.models.model_dbir 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/renderer/base.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.renderer.base 2 | ========================================== 3 | 4 | base 5 | 6 | .. automodule:: pytorch3d.implicitron.models.renderer.base 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/renderer/index.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.renderer 2 | ===================================== 3 | 4 | .. toctree:: 5 | 6 | base 7 | lstm_renderer 8 | multipass_ea 9 | ray_point_refiner 10 | ray_sampler 11 | ray_tracing 12 | raymarcher 13 | rgb_net 14 | sdf_renderer 15 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/renderer/lstm_renderer.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.renderer.lstm_renderer 2 | =================================================== 3 | 4 | lstm_renderer 5 | 6 | .. automodule:: pytorch3d.implicitron.models.renderer.lstm_renderer 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/renderer/multipass_ea.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.renderer.multipass_ea 2 | ================================================== 3 | 4 | multipass_ea 5 | 6 | .. automodule:: pytorch3d.implicitron.models.renderer.multipass_ea 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/renderer/ray_point_refiner.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.renderer.ray_point_refiner 2 | ======================================================= 3 | 4 | ray_point_refiner 5 | 6 | .. automodule:: pytorch3d.implicitron.models.renderer.ray_point_refiner 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/renderer/ray_sampler.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.renderer.ray_sampler 2 | ================================================= 3 | 4 | ray_sampler 5 | 6 | .. automodule:: pytorch3d.implicitron.models.renderer.ray_sampler 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/renderer/ray_tracing.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.renderer.ray_tracing 2 | ================================================= 3 | 4 | ray_tracing 5 | 6 | .. automodule:: pytorch3d.implicitron.models.renderer.ray_tracing 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/renderer/raymarcher.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.renderer.raymarcher 2 | ================================================ 3 | 4 | raymarcher 5 | 6 | .. automodule:: pytorch3d.implicitron.models.renderer.raymarcher 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/renderer/rgb_net.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.renderer.rgb_net 2 | ============================================= 3 | 4 | rgb_net 5 | 6 | .. automodule:: pytorch3d.implicitron.models.renderer.rgb_net 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/renderer/sdf_renderer.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.renderer.sdf_renderer 2 | ================================================== 3 | 4 | sdf_renderer 5 | 6 | .. automodule:: pytorch3d.implicitron.models.renderer.sdf_renderer 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/view_pooler/feature_aggregator.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.view_pooler.feature_aggregator 2 | =========================================================== 3 | 4 | feature_aggregator 5 | 6 | .. automodule:: pytorch3d.implicitron.models.view_pooler.feature_aggregator 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/view_pooler/index.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.view_pooler 2 | ======================================== 3 | 4 | .. toctree:: 5 | 6 | feature_aggregator 7 | view_pooler 8 | view_sampler 9 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/view_pooler/view_pooler.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.view_pooler.view_pooler 2 | ==================================================== 3 | 4 | view_pooler 5 | 6 | .. automodule:: pytorch3d.implicitron.models.view_pooler.view_pooler 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/view_pooler/view_sampler.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.view_pooler.view_sampler 2 | ===================================================== 3 | 4 | view_sampler 5 | 6 | .. automodule:: pytorch3d.implicitron.models.view_pooler.view_sampler 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/visualization/index.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.visualization 2 | ========================================== 3 | 4 | .. toctree:: 5 | 6 | render_flyaround 7 | -------------------------------------------------------------------------------- /docs/modules/implicitron/models/visualization/render_flyaround.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.implicitron.models.visualization.render_flyaround 2 | =========================================================== 3 | 4 | render_flyaround 5 | 6 | .. automodule:: pytorch3d.implicitron.models.visualization.render_flyaround 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/index.rst: -------------------------------------------------------------------------------- 1 | API Documentation 2 | ================== 3 | 4 | .. toctree:: 5 | 6 | structures 7 | io 8 | loss 9 | ops 10 | renderer/index 11 | transforms 12 | utils 13 | datasets 14 | common 15 | vis/index 16 | implicitron/index 17 | -------------------------------------------------------------------------------- /docs/modules/io.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.io 2 | =========================== 3 | 4 | .. automodule:: pytorch3d.io 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: -------------------------------------------------------------------------------- /docs/modules/loss.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.loss 2 | ==================== 3 | 4 | Loss functions for meshes and point clouds. 5 | 6 | .. automodule:: pytorch3d.loss 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/ops.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.ops 2 | =========================== 3 | 4 | .. automodule:: pytorch3d.ops 5 | :members: 6 | :undoc-members: -------------------------------------------------------------------------------- /docs/modules/renderer/blending.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.blending 2 | =========================== 3 | 4 | blending 5 | 6 | .. automodule:: pytorch3d.renderer.blending 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/camera_conversions.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.camera_conversions 2 | ===================================== 3 | 4 | camera_conversions 5 | 6 | .. automodule:: pytorch3d.renderer.camera_conversions 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/camera_utils.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.camera_utils 2 | =============================== 3 | 4 | camera_utils 5 | 6 | .. automodule:: pytorch3d.renderer.camera_utils 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/cameras.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.cameras 2 | ========================== 3 | 4 | cameras 5 | 6 | .. automodule:: pytorch3d.renderer.cameras 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/compositing.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.compositing 2 | ============================== 3 | 4 | compositing 5 | 6 | .. automodule:: pytorch3d.renderer.compositing 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/fisheyecameras.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.fisheyecameras 2 | ================================= 3 | 4 | fisheyecameras 5 | 6 | .. automodule:: pytorch3d.renderer.fisheyecameras 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/implicit/harmonic_embedding.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.implicit.harmonic_embedding 2 | ============================================== 3 | 4 | harmonic_embedding 5 | 6 | .. automodule:: pytorch3d.renderer.implicit.harmonic_embedding 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/implicit/index.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.implicit 2 | =========================== 3 | 4 | .. toctree:: 5 | 6 | harmonic_embedding 7 | raymarching 8 | raysampling 9 | renderer 10 | sample_pdf 11 | utils 12 | -------------------------------------------------------------------------------- /docs/modules/renderer/implicit/raymarching.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.implicit.raymarching 2 | ======================================= 3 | 4 | raymarching 5 | 6 | .. automodule:: pytorch3d.renderer.implicit.raymarching 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/implicit/raysampling.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.implicit.raysampling 2 | ======================================= 3 | 4 | raysampling 5 | 6 | .. automodule:: pytorch3d.renderer.implicit.raysampling 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/implicit/renderer.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.implicit.renderer 2 | ==================================== 3 | 4 | renderer 5 | 6 | .. automodule:: pytorch3d.renderer.implicit.renderer 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/implicit/sample_pdf.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.implicit.sample_pdf 2 | ====================================== 3 | 4 | sample_pdf 5 | 6 | .. automodule:: pytorch3d.renderer.implicit.sample_pdf 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/implicit/utils.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.implicit.utils 2 | ================================= 3 | 4 | utils 5 | 6 | .. automodule:: pytorch3d.renderer.implicit.utils 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/index.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer 2 | ================== 3 | 4 | .. toctree:: 5 | 6 | blending 7 | camera_conversions 8 | camera_utils 9 | cameras 10 | compositing 11 | fisheyecameras 12 | lighting 13 | materials 14 | splatter_blend 15 | utils 16 | implicit/index 17 | mesh/index 18 | opengl/index 19 | points/index 20 | -------------------------------------------------------------------------------- /docs/modules/renderer/lighting.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.lighting 2 | =========================== 3 | 4 | lighting 5 | 6 | .. automodule:: pytorch3d.renderer.lighting 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/materials.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.materials 2 | ============================ 3 | 4 | materials 5 | 6 | .. automodule:: pytorch3d.renderer.materials 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/mesh/clip.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.mesh.clip 2 | ============================ 3 | 4 | clip 5 | 6 | .. automodule:: pytorch3d.renderer.mesh.clip 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/mesh/index.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.mesh 2 | ======================= 3 | 4 | .. toctree:: 5 | 6 | clip 7 | rasterize_meshes 8 | rasterizer 9 | renderer 10 | shader 11 | shading 12 | textures 13 | utils 14 | -------------------------------------------------------------------------------- /docs/modules/renderer/mesh/rasterize_meshes.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.mesh.rasterize_meshes 2 | ======================================== 3 | 4 | rasterize_meshes 5 | 6 | .. automodule:: pytorch3d.renderer.mesh.rasterize_meshes 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/mesh/rasterizer.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.mesh.rasterizer 2 | ================================== 3 | 4 | rasterizer 5 | 6 | .. automodule:: pytorch3d.renderer.mesh.rasterizer 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/mesh/renderer.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.mesh.renderer 2 | ================================ 3 | 4 | renderer 5 | 6 | .. automodule:: pytorch3d.renderer.mesh.renderer 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/mesh/shader.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.mesh.shader 2 | ============================== 3 | 4 | shader 5 | 6 | .. automodule:: pytorch3d.renderer.mesh.shader 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/mesh/shading.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.mesh.shading 2 | =============================== 3 | 4 | shading 5 | 6 | .. automodule:: pytorch3d.renderer.mesh.shading 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/mesh/textures.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.mesh.textures 2 | ================================ 3 | 4 | textures 5 | 6 | .. automodule:: pytorch3d.renderer.mesh.textures 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/mesh/utils.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.mesh.utils 2 | ============================= 3 | 4 | utils 5 | 6 | .. automodule:: pytorch3d.renderer.mesh.utils 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/opengl/index.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.opengl 2 | ========================= 3 | 4 | .. toctree:: 5 | 6 | opengl_utils 7 | rasterizer_opengl 8 | -------------------------------------------------------------------------------- /docs/modules/renderer/opengl/opengl_utils.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.opengl.opengl_utils 2 | ====================================== 3 | 4 | opengl_utils 5 | 6 | .. automodule:: pytorch3d.renderer.opengl.opengl_utils 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/opengl/rasterizer_opengl.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.opengl.rasterizer_opengl 2 | =========================================== 3 | 4 | rasterizer_opengl 5 | 6 | .. automodule:: pytorch3d.renderer.opengl.rasterizer_opengl 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/points/compositor.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.points.compositor 2 | ==================================== 3 | 4 | compositor 5 | 6 | .. automodule:: pytorch3d.renderer.points.compositor 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/points/index.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.points 2 | ========================= 3 | 4 | .. toctree:: 5 | 6 | compositor 7 | rasterize_points 8 | rasterizer 9 | renderer 10 | pulsar/index 11 | -------------------------------------------------------------------------------- /docs/modules/renderer/points/pulsar/index.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.points.pulsar 2 | ================================ 3 | 4 | .. toctree:: 5 | 6 | renderer 7 | unified 8 | -------------------------------------------------------------------------------- /docs/modules/renderer/points/pulsar/renderer.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.points.pulsar.renderer 2 | ========================================= 3 | 4 | renderer 5 | 6 | .. automodule:: pytorch3d.renderer.points.pulsar.renderer 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/points/pulsar/unified.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.points.pulsar.unified 2 | ======================================== 3 | 4 | unified 5 | 6 | .. automodule:: pytorch3d.renderer.points.pulsar.unified 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/points/rasterize_points.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.points.rasterize_points 2 | ========================================== 3 | 4 | rasterize_points 5 | 6 | .. automodule:: pytorch3d.renderer.points.rasterize_points 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/points/rasterizer.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.points.rasterizer 2 | ==================================== 3 | 4 | rasterizer 5 | 6 | .. automodule:: pytorch3d.renderer.points.rasterizer 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/points/renderer.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.points.renderer 2 | ================================== 3 | 4 | renderer 5 | 6 | .. automodule:: pytorch3d.renderer.points.renderer 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/splatter_blend.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.splatter_blend 2 | ================================= 3 | 4 | splatter_blend 5 | 6 | .. automodule:: pytorch3d.renderer.splatter_blend 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/renderer/utils.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.renderer.utils 2 | ======================== 3 | 4 | utils 5 | 6 | .. automodule:: pytorch3d.renderer.utils 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/structures.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.structures 2 | ==================== 3 | 4 | .. automodule:: pytorch3d.structures 5 | :members: 6 | :undoc-members: 7 | 8 | 9 | -------------------------------------------------------------------------------- /docs/modules/transforms.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.transforms 2 | =========================== 3 | 4 | .. automodule:: pytorch3d.transforms 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: -------------------------------------------------------------------------------- /docs/modules/utils.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.utils 2 | ==================== 3 | 4 | .. automodule:: pytorch3d.utils 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/modules/vis/index.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.vis 2 | ============= 3 | 4 | .. toctree:: 5 | 6 | plotly_vis 7 | texture_vis 8 | -------------------------------------------------------------------------------- /docs/modules/vis/plotly_vis.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.vis.plotly_vis 2 | ======================== 3 | 4 | plotly_vis 5 | 6 | .. automodule:: pytorch3d.vis.plotly_vis 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/modules/vis/texture_vis.rst: -------------------------------------------------------------------------------- 1 | pytorch3d.vis.texture_vis 2 | ========================= 3 | 4 | texture_vis 5 | 6 | .. automodule:: pytorch3d.vis.texture_vis 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/notes/assets/architecture_renderer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/notes/assets/architecture_renderer.jpg -------------------------------------------------------------------------------- /docs/notes/assets/batch_intro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/notes/assets/batch_intro.png -------------------------------------------------------------------------------- /docs/notes/assets/batch_modes.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/notes/assets/batch_modes.gif -------------------------------------------------------------------------------- /docs/notes/assets/fullset_batch_size_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/notes/assets/fullset_batch_size_16.png -------------------------------------------------------------------------------- /docs/notes/assets/iou3d.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/notes/assets/iou3d.gif -------------------------------------------------------------------------------- /docs/notes/assets/iou3d_comp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/notes/assets/iou3d_comp.png -------------------------------------------------------------------------------- /docs/notes/assets/meshrcnn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/notes/assets/meshrcnn.png -------------------------------------------------------------------------------- /docs/notes/assets/opengl_coordframes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/notes/assets/opengl_coordframes.png -------------------------------------------------------------------------------- /docs/notes/assets/p3d_naive_vs_coarse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/notes/assets/p3d_naive_vs_coarse.png -------------------------------------------------------------------------------- /docs/notes/assets/p3d_vs_softras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/notes/assets/p3d_vs_softras.png -------------------------------------------------------------------------------- /docs/notes/assets/plotly_meshes_batch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/notes/assets/plotly_meshes_batch.png -------------------------------------------------------------------------------- /docs/notes/assets/plotly_meshes_trace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/notes/assets/plotly_meshes_trace.png -------------------------------------------------------------------------------- /docs/notes/assets/plotly_pointclouds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/notes/assets/plotly_pointclouds.png -------------------------------------------------------------------------------- /docs/notes/assets/pulsar_bm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/notes/assets/pulsar_bm.png -------------------------------------------------------------------------------- /docs/notes/assets/texturing.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/notes/assets/texturing.jpg -------------------------------------------------------------------------------- /docs/notes/assets/transforms_overview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/notes/assets/transforms_overview.jpg -------------------------------------------------------------------------------- /docs/notes/assets/world_camera_image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/notes/assets/world_camera_image.jpg -------------------------------------------------------------------------------- /docs/notes/cubify.md: -------------------------------------------------------------------------------- 1 | --- 2 | hide_title: true 3 | sidebar_label: Cubify 4 | --- 5 | 6 | # Cubify 7 | 8 | The [cubify operator](https://github.com/facebookresearch/pytorch3d/blob/main/pytorch3d/ops/cubify.py) converts an 3D occupancy grid of shape `BxDxHxW`, where `B` is the batch size, into a mesh instantiated as a [Meshes](https://github.com/facebookresearch/pytorch3d/blob/main/pytorch3d/structures/meshes.py) data structure of `B` elements. The operator replaces every occupied voxel (if its occupancy probability is greater than a user defined threshold) with a cuboid of 12 faces and 8 vertices. Shared vertices are merged, and internal faces are removed resulting in a **watertight** mesh. 9 | 10 | The operator provides three alignment modes {*topleft*, *corner*, *center*} which define the span of the mesh vertices with respect to the voxel grid. The alignment modes are described in the figure below for a 2D grid. 11 | 12 | ![input](https://user-images.githubusercontent.com/4369065/81032959-af697380-8e46-11ea-91a8-fae89597f988.png) 13 | -------------------------------------------------------------------------------- /docs/notes/why_pytorch3d.md: -------------------------------------------------------------------------------- 1 | --- 2 | hide_title: true 3 | sidebar_label: Why PyTorch3D 4 | --- 5 | 6 | 7 | # Why PyTorch3D 8 | 9 | 10 | Our goal with PyTorch3D is to help accelerate research at the intersection of deep learning and 3D. 3D data is more complex than 2D images and while working on projects such as [Mesh R-CNN](https://github.com/facebookresearch/meshrcnn) and [C3DPO](https://github.com/facebookresearch/c3dpo_nrsfm), we encountered several challenges including 3D data representation, batching, and speed. We have developed many useful operators and abstractions for working on 3D deep learning and want to share this with the community to drive novel research in this area. 11 | 12 | In PyTorch3D we have included efficient 3D operators, heterogeneous batching capabilities, and a modular differentiable rendering API, to equip researchers in this field with a much needed toolkit to implement cutting-edge research with complex 3D inputs. 13 | -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- 1 | docutils>=0.14 2 | Sphinx>=1.7 3 | recommonmark==0.4.0 4 | sphinx_rtd_theme 5 | sphinx_markdown_tables 6 | numpy 7 | iopath 8 | fvcore 9 | https://download.pytorch.org/whl/cpu/torchvision-0.8.2%2Bcpu-cp37-cp37m-linux_x86_64.whl 10 | https://download.pytorch.org/whl/cpu/torch-1.7.1%2Bcpu-cp37-cp37m-linux_x86_64.whl 11 | omegaconf 12 | -------------------------------------------------------------------------------- /docs/tutorials/data/bundle_adjustment_final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/tutorials/data/bundle_adjustment_final.png -------------------------------------------------------------------------------- /docs/tutorials/data/bundle_adjustment_initialization.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/tutorials/data/bundle_adjustment_initialization.png -------------------------------------------------------------------------------- /docs/tutorials/data/camera_graph.pth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/tutorials/data/camera_graph.pth -------------------------------------------------------------------------------- /docs/tutorials/data/cow_mesh/README.md: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | 3 | Thank you to Keenan Crane for allowing the cow mesh model to be used freely in the public domain. 4 | 5 | ###### Source: http://www.cs.cmu.edu/~kmcrane/Projects/ModelRepository/ 6 | -------------------------------------------------------------------------------- /docs/tutorials/data/cow_mesh/cow.mtl: -------------------------------------------------------------------------------- 1 | newmtl material_1 2 | map_Kd cow_texture.png 3 | 4 | # Test colors 5 | 6 | Ka 1.000 1.000 1.000 # white 7 | Kd 1.000 1.000 1.000 # white 8 | Ks 0.000 0.000 0.000 # black 9 | Ns 10.0 10 | -------------------------------------------------------------------------------- /docs/tutorials/data/cow_mesh/cow_texture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/docs/tutorials/data/cow_mesh/cow_texture.png -------------------------------------------------------------------------------- /docs/tutorials/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | from .camera_visualization import get_camera_wireframe, plot_camera_scene, plot_cameras 8 | from .plot_image_grid import image_grid 9 | -------------------------------------------------------------------------------- /packaging/build_wheel.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Copyright (c) Meta Platforms, Inc. and affiliates. 3 | # All rights reserved. 4 | # 5 | # This source code is licensed under the BSD-style license found in the 6 | # LICENSE file in the root directory of this source tree. 7 | 8 | set -ex 9 | 10 | script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" 11 | . "$script_dir/pkg_helpers.bash" 12 | 13 | VERSION=$(python -c "exec(open('${script_dir}/../pytorch3d/__init__.py').read()); print(__version__)") 14 | 15 | export BUILD_TYPE=wheel 16 | setup_env "$VERSION" 17 | setup_wheel_python 18 | pip_install numpy 19 | setup_pip_pytorch_version 20 | download_nvidiacub_if_needed 21 | python setup.py clean 22 | IS_WHEEL=1 python setup.py bdist_wheel 23 | -------------------------------------------------------------------------------- /packaging/conda/install_conda.bat: -------------------------------------------------------------------------------- 1 | @REM Copyright (c) Meta Platforms, Inc. and affiliates. 2 | @REM All rights reserved. 3 | @REM 4 | @REM This source code is licensed under the BSD-style license found in the 5 | @REM LICENSE file in the root directory of this source tree. 6 | 7 | start /wait "" "%miniconda_exe%" /S /InstallationType=JustMe /RegisterPython=0 /AddToPath=0 /D=%tmp_conda% 8 | -------------------------------------------------------------------------------- /packaging/cub_conda/README.md: -------------------------------------------------------------------------------- 1 | ## For building conda package for NVIDIA CUB 2 | 3 | CUB is required for building PyTorch3D so it makes sense 4 | to provide a conda package to make its header files available. 5 | This directory is used to do that, it is independent of the rest 6 | of this repo. 7 | 8 | Make sure you are in a conda environment with 9 | anaconda-client and conda-build installed. 10 | 11 | From this directory, build the package with the following. 12 | ``` 13 | mkdir -p ./out 14 | conda build --no-anaconda-upload --output-folder ./out cub 15 | ``` 16 | 17 | You can then upload the package with the following. 18 | ``` 19 | retry () { 20 | # run a command, and try again if it fails 21 | $* || (echo && sleep 8 && echo retrying && $*) 22 | } 23 | 24 | file=out/linux-64/nvidiacub-1.10.0-0.tar.bz2 25 | retry anaconda --verbose -t ${TOKEN} upload -u pytorch3d --force ${file} --no-progress 26 | ``` 27 | -------------------------------------------------------------------------------- /packaging/cub_conda/cub/meta.yaml: -------------------------------------------------------------------------------- 1 | package: 2 | name: nvidiacub 3 | version: 1.10.0 4 | source: 5 | url: https://github.com/NVIDIA/cub/archive/1.10.0.tar.gz 6 | folder: source 7 | build: 8 | script: mkdir $PREFIX/include && cp -r source/cub $PREFIX/include/cub 9 | 10 | about: 11 | home: https://github.com/NVIDIA/cub 12 | summary: CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming model. 13 | -------------------------------------------------------------------------------- /packaging/linux_wheels/after.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | # Copyright (c) Meta Platforms, Inc. and affiliates. 3 | # All rights reserved. 4 | # 5 | # This source code is licensed under the BSD-style license found in the 6 | # LICENSE file in the root directory of this source tree. 7 | 8 | set -ex 9 | sudo chown -R "$USER" output 10 | python publish.py 11 | -------------------------------------------------------------------------------- /packaging/linux_wheels/go.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | # Copyright (c) Meta Platforms, Inc. and affiliates. 3 | # All rights reserved. 4 | # 5 | # This source code is licensed under the BSD-style license found in the 6 | # LICENSE file in the root directory of this source tree. 7 | 8 | sudo docker run --rm -v "$PWD/../../:/inside" pytorch/conda-cuda bash inside/packaging/linux_wheels/inside.sh 9 | sudo docker run --rm -v "$PWD/../../:/inside" -e SELECTED_CUDA=cu113 pytorch/conda-builder:cuda113 bash inside/packaging/linux_wheels/inside.sh 10 | sudo docker run --rm -v "$PWD/../../:/inside" -e SELECTED_CUDA=cu115 pytorch/conda-builder:cuda115 bash inside/packaging/linux_wheels/inside.sh 11 | sudo docker run --rm -v "$PWD/../../:/inside" -e SELECTED_CUDA=cu116 pytorch/conda-builder:cuda116 bash inside/packaging/linux_wheels/inside.sh 12 | -------------------------------------------------------------------------------- /packaging/vs2017/conda_build_config.yaml: -------------------------------------------------------------------------------- 1 | blas_impl: 2 | - mkl # [x86_64] 3 | c_compiler: 4 | - vs2017 # [win] 5 | cxx_compiler: 6 | - vs2017 # [win] 7 | python: 8 | - 3.5 9 | - 3.6 10 | # This differs from target_platform in that it determines what subdir the compiler 11 | # will target, not what subdir the compiler package will be itself. 12 | # For example, we need a win-64 vs2008_win-32 package, so that we compile win-32 13 | # code on win-64 miniconda. 14 | cross_compiler_target_platform: 15 | - win-64 # [win] 16 | target_platform: 17 | - win-64 # [win] 18 | vc: 19 | - 14 20 | zip_keys: 21 | - # [win] 22 | - vc # [win] 23 | - c_compiler # [win] 24 | - cxx_compiler # [win] 25 | -------------------------------------------------------------------------------- /packaging/vs2019/conda_build_config.yaml: -------------------------------------------------------------------------------- 1 | blas_impl: 2 | - mkl # [x86_64] 3 | c_compiler: 4 | - vs2019 # [win] 5 | cxx_compiler: 6 | - vs2019 # [win] 7 | python: 8 | - 3.5 9 | - 3.6 10 | # This differs from target_platform in that it determines what subdir the compiler 11 | # will target, not what subdir the compiler package will be itself. 12 | # For example, we need a win-64 vs2008_win-32 package, so that we compile win-32 13 | # code on win-64 miniconda. 14 | cross_compiler_target_platform: 15 | - win-64 # [win] 16 | target_platform: 17 | - win-64 # [win] 18 | vc: 19 | - 14 20 | zip_keys: 21 | - # [win] 22 | - vc # [win] 23 | - c_compiler # [win] 24 | - cxx_compiler # [win] 25 | -------------------------------------------------------------------------------- /projects/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_feat_extractor_normed.yaml: -------------------------------------------------------------------------------- 1 | model_factory_ImplicitronModelFactory_args: 2 | model_GenericModel_args: 3 | image_feature_extractor_class_type: ResNetFeatureExtractor 4 | image_feature_extractor_ResNetFeatureExtractor_args: 5 | add_images: true 6 | add_masks: true 7 | first_max_pool: true 8 | image_rescale: 0.375 9 | l2_norm: true 10 | name: resnet34 11 | normalize_image: true 12 | pretrained: true 13 | stages: 14 | - 1 15 | - 2 16 | - 3 17 | - 4 18 | proj_dim: 32 19 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_feat_extractor_transformer.yaml: -------------------------------------------------------------------------------- 1 | model_factory_ImplicitronModelFactory_args: 2 | model_GenericModel_args: 3 | image_feature_extractor_class_type: ResNetFeatureExtractor 4 | image_feature_extractor_ResNetFeatureExtractor_args: 5 | add_images: true 6 | add_masks: true 7 | first_max_pool: false 8 | image_rescale: 0.375 9 | l2_norm: true 10 | name: resnet34 11 | normalize_image: true 12 | pretrained: true 13 | stages: 14 | - 1 15 | - 2 16 | - 3 17 | - 4 18 | proj_dim: 16 19 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_feat_extractor_unnormed.yaml: -------------------------------------------------------------------------------- 1 | model_factory_ImplicitronModelFactory_args: 2 | model_GenericModel_args: 3 | image_feature_extractor_class_type: ResNetFeatureExtractor 4 | image_feature_extractor_ResNetFeatureExtractor_args: 5 | stages: 6 | - 1 7 | - 2 8 | - 3 9 | first_max_pool: false 10 | proj_dim: -1 11 | l2_norm: false 12 | image_rescale: 0.375 13 | name: resnet34 14 | normalize_image: true 15 | pretrained: true 16 | view_pooler_args: 17 | feature_aggregator_AngleWeightedReductionFeatureAggregator_args: 18 | reduction_functions: 19 | - AVG 20 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_multiseq_co3dv2_base.yaml: -------------------------------------------------------------------------------- 1 | data_source_ImplicitronDataSource_args: 2 | dataset_map_provider_class_type: JsonIndexDatasetMapProviderV2 3 | dataset_map_provider_JsonIndexDatasetMapProviderV2_args: 4 | category: teddybear 5 | subset_name: fewview_dev 6 | training_loop_ImplicitronTrainingLoop_args: 7 | evaluator_ImplicitronEvaluator_args: 8 | is_multisequence: true 9 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_multiseq_nerf_ad.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_multiseq_base.yaml 3 | - _self_ 4 | model_factory_ImplicitronModelFactory_args: 5 | model_GenericModel_args: 6 | chunk_size_grid: 16000 7 | view_pooler_enabled: false 8 | global_encoder_class_type: SequenceAutodecoder 9 | global_encoder_SequenceAutodecoder_args: 10 | autodecoder_args: 11 | n_instances: 20000 12 | encoding_dim: 256 13 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_multiseq_nerf_wce.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_multiseq_base.yaml 3 | - repro_feat_extractor_unnormed.yaml 4 | - _self_ 5 | model_factory_ImplicitronModelFactory_args: 6 | model_GenericModel_args: 7 | chunk_size_grid: 16000 8 | view_pooler_enabled: true 9 | raysampler_AdaptiveRaySampler_args: 10 | n_rays_per_image_sampled_from_mask: 850 11 | training_loop_ImplicitronTrainingLoop_args: 12 | clip_grad: 1.0 13 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_multiseq_nerformer.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_multiseq_base.yaml 3 | - repro_feat_extractor_transformer.yaml 4 | - _self_ 5 | model_factory_ImplicitronModelFactory_args: 6 | model_GenericModel_args: 7 | chunk_size_grid: 16000 8 | raysampler_AdaptiveRaySampler_args: 9 | n_rays_per_image_sampled_from_mask: 800 10 | n_pts_per_ray_training: 32 11 | n_pts_per_ray_evaluation: 32 12 | renderer_MultiPassEmissionAbsorptionRenderer_args: 13 | n_pts_per_ray_fine_training: 16 14 | n_pts_per_ray_fine_evaluation: 16 15 | implicit_function_class_type: NeRFormerImplicitFunction 16 | view_pooler_enabled: true 17 | view_pooler_args: 18 | feature_aggregator_class_type: IdentityFeatureAggregator 19 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_multiseq_nerformer_angle_w.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_multiseq_nerformer.yaml 3 | - _self_ 4 | model_factory_ImplicitronModelFactory_args: 5 | model_GenericModel_args: 6 | view_pooler_args: 7 | feature_aggregator_class_type: AngleWeightedIdentityFeatureAggregator 8 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_multiseq_srn_ad_hypernet_noharm.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_multiseq_srn_ad_hypernet.yaml 3 | - _self_ 4 | model_factory_ImplicitronModelFactory_args: 5 | model_GenericModel_args: 6 | num_passes: 1 7 | implicit_function_SRNHyperNetImplicitFunction_args: 8 | pixel_generator_args: 9 | n_harmonic_functions: 0 10 | hypernet_args: 11 | n_harmonic_functions: 0 12 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_multiseq_srn_wce_noharm.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_multiseq_srn_wce.yaml 3 | - _self_ 4 | model_factory_ImplicitronModelFactory_args: 5 | model_GenericModel_args: 6 | num_passes: 1 7 | implicit_function_SRNImplicitFunction_args: 8 | pixel_generator_args: 9 | n_harmonic_functions: 0 10 | raymarch_function_args: 11 | n_harmonic_functions: 0 12 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_multiseq_v2_nerf_wce.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_multiseq_nerf_wce.yaml 3 | - repro_multiseq_co3dv2_base.yaml 4 | - _self_ 5 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_multiseq_v2_nerformer.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_multiseq_nerformer.yaml 3 | - repro_multiseq_co3dv2_base.yaml 4 | - _self_ 5 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_multiseq_v2_srn_ad_hypernet.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_multiseq_srn_ad_hypernet.yaml 3 | - repro_multiseq_co3dv2_base.yaml 4 | - _self_ 5 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_multiseq_v2_srn_wce.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_multiseq_srn_wce.yaml 3 | - repro_multiseq_co3dv2_base.yaml 4 | - _self_ 5 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_singleseq_co3dv2_base.yaml: -------------------------------------------------------------------------------- 1 | data_source_ImplicitronDataSource_args: 2 | dataset_map_provider_class_type: JsonIndexDatasetMapProviderV2 3 | dataset_map_provider_JsonIndexDatasetMapProviderV2_args: 4 | category: teddybear 5 | subset_name: manyview_dev_0 6 | training_loop_ImplicitronTrainingLoop_args: 7 | evaluator_ImplicitronEvaluator_args: 8 | is_multisequence: false 9 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_singleseq_nerf.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_singleseq_base 3 | - _self_ 4 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_singleseq_nerf_wce.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_singleseq_wce_base.yaml 3 | - repro_feat_extractor_unnormed.yaml 4 | - _self_ 5 | model_factory_ImplicitronModelFactory_args: 6 | model_GenericModel_args: 7 | chunk_size_grid: 16000 8 | view_pooler_enabled: true 9 | raysampler_AdaptiveRaySampler_args: 10 | n_rays_per_image_sampled_from_mask: 850 11 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_singleseq_nerformer.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_singleseq_wce_base.yaml 3 | - repro_feat_extractor_transformer.yaml 4 | - _self_ 5 | model_factory_ImplicitronModelFactory_args: 6 | model_GenericModel_args: 7 | chunk_size_grid: 16000 8 | view_pooler_enabled: true 9 | implicit_function_class_type: NeRFormerImplicitFunction 10 | raysampler_AdaptiveRaySampler_args: 11 | n_rays_per_image_sampled_from_mask: 800 12 | n_pts_per_ray_training: 32 13 | n_pts_per_ray_evaluation: 32 14 | renderer_MultiPassEmissionAbsorptionRenderer_args: 15 | n_pts_per_ray_fine_training: 16 16 | n_pts_per_ray_fine_evaluation: 16 17 | view_pooler_args: 18 | feature_aggregator_class_type: IdentityFeatureAggregator 19 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_singleseq_srn.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_singleseq_base.yaml 3 | - _self_ 4 | model_factory_ImplicitronModelFactory_args: 5 | model_GenericModel_args: 6 | num_passes: 1 7 | chunk_size_grid: 32000 8 | view_pooler_enabled: false 9 | loss_weights: 10 | loss_rgb_mse: 200.0 11 | loss_prev_stage_rgb_mse: 0.0 12 | loss_mask_bce: 1.0 13 | loss_prev_stage_mask_bce: 0.0 14 | loss_autodecoder_norm: 0.0 15 | depth_neg_penalty: 10000.0 16 | raysampler_class_type: NearFarRaySampler 17 | raysampler_NearFarRaySampler_args: 18 | n_rays_per_image_sampled_from_mask: 2048 19 | min_depth: 0.05 20 | max_depth: 0.05 21 | n_pts_per_ray_training: 1 22 | n_pts_per_ray_evaluation: 1 23 | stratified_point_sampling_training: false 24 | stratified_point_sampling_evaluation: false 25 | renderer_class_type: LSTMRenderer 26 | implicit_function_class_type: SRNImplicitFunction 27 | optimizer_factory_ImplicitronOptimizerFactory_args: 28 | breed: Adam 29 | lr: 5.0e-05 30 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_singleseq_srn_noharm.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_singleseq_srn.yaml 3 | - _self_ 4 | model_factory_ImplicitronModelFactory_args: 5 | model_GenericModel_args: 6 | num_passes: 1 7 | implicit_function_SRNImplicitFunction_args: 8 | pixel_generator_args: 9 | n_harmonic_functions: 0 10 | raymarch_function_args: 11 | n_harmonic_functions: 0 12 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_singleseq_srn_wce_noharm.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_singleseq_srn_wce.yaml 3 | - _self_ 4 | model_factory_ImplicitronModelFactory_args: 5 | model_GenericModel_args: 6 | num_passes: 1 7 | implicit_function_SRNImplicitFunction_args: 8 | pixel_generator_args: 9 | n_harmonic_functions: 0 10 | raymarch_function_args: 11 | n_harmonic_functions: 0 12 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_singleseq_v2_idr.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_singleseq_idr.yaml 3 | - repro_singleseq_co3dv2_base.yaml 4 | - _self_ 5 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_singleseq_v2_nerf.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_singleseq_nerf.yaml 3 | - repro_singleseq_co3dv2_base.yaml 4 | - _self_ 5 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_singleseq_v2_nerformer.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_singleseq_nerformer.yaml 3 | - repro_singleseq_co3dv2_base.yaml 4 | - _self_ 5 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_singleseq_v2_srn_noharm.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_singleseq_srn_noharm.yaml 3 | - repro_singleseq_co3dv2_base.yaml 4 | - _self_ 5 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/configs/repro_singleseq_wce_base.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - repro_singleseq_base 3 | - _self_ 4 | data_source_ImplicitronDataSource_args: 5 | data_loader_map_provider_SequenceDataLoaderMapProvider_args: 6 | batch_size: 10 7 | dataset_length_train: 1000 8 | dataset_length_val: 1 9 | num_workers: 8 10 | train_conditioning_type: SAME 11 | val_conditioning_type: SAME 12 | test_conditioning_type: SAME 13 | images_per_seq_options: 14 | - 2 15 | - 3 16 | - 4 17 | - 5 18 | - 6 19 | - 7 20 | - 8 21 | - 9 22 | - 10 23 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/impl/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/impl/utils.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | 8 | import random 9 | 10 | import numpy as np 11 | import torch 12 | 13 | 14 | def seed_all_random_engines(seed: int) -> None: 15 | np.random.seed(seed) 16 | torch.manual_seed(seed) 17 | random.seed(seed) 18 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /projects/implicitron_trainer/tests/test_visualize.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | import os 8 | import unittest 9 | 10 | from .. import visualize_reconstruction 11 | from .utils import interactive_testing_requested 12 | 13 | internal = os.environ.get("FB_TEST", False) 14 | 15 | 16 | class TestVisualize(unittest.TestCase): 17 | def test_from_defaults(self): 18 | if not interactive_testing_requested(): 19 | return 20 | checkpoint_dir = os.environ["exp_dir"] 21 | argv = [ 22 | f"exp_dir={checkpoint_dir}", 23 | "n_eval_cameras=40", 24 | "render_size=[64,64]", 25 | "video_size=[256,256]", 26 | ] 27 | visualize_reconstruction.main(argv) 28 | -------------------------------------------------------------------------------- /projects/nerf/.gitignore: -------------------------------------------------------------------------------- 1 | checkpoints 2 | outputs 3 | data/*.png 4 | data/*.pth 5 | data/*_license.txt 6 | -------------------------------------------------------------------------------- /projects/nerf/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /projects/nerf/nerf/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /projects/nerf/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /pytorch3d/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | __version__ = "0.7.4" 8 | -------------------------------------------------------------------------------- /pytorch3d/common/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | from .datatypes import Device, get_device, make_device 8 | 9 | 10 | __all__ = [k for k in globals().keys() if not k.startswith("_")] 11 | -------------------------------------------------------------------------------- /pytorch3d/common/workaround/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | from .symeig3x3 import symeig3x3 8 | from .utils import _safe_det_3x3 9 | -------------------------------------------------------------------------------- /pytorch3d/common/workaround/utils.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | 8 | import torch 9 | 10 | 11 | def _safe_det_3x3(t: torch.Tensor): 12 | """ 13 | Fast determinant calculation for a batch of 3x3 matrices. 14 | 15 | Note, result of this function might not be the same as `torch.det()`. 16 | The differences might be in the last significant digit. 17 | 18 | Args: 19 | t: Tensor of shape (N, 3, 3). 20 | 21 | Returns: 22 | Tensor of shape (N) with determinants. 23 | """ 24 | 25 | det = ( 26 | t[..., 0, 0] * (t[..., 1, 1] * t[..., 2, 2] - t[..., 1, 2] * t[..., 2, 1]) 27 | - t[..., 0, 1] * (t[..., 1, 0] * t[..., 2, 2] - t[..., 2, 0] * t[..., 1, 2]) 28 | + t[..., 0, 2] * (t[..., 1, 0] * t[..., 2, 1] - t[..., 2, 0] * t[..., 1, 1]) 29 | ) 30 | 31 | return det 32 | -------------------------------------------------------------------------------- /pytorch3d/csrc/mesh_normal_consistency/mesh_normal_consistency.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #pragma once 10 | #include 11 | #include "utils/pytorch3d_cutils.h" 12 | 13 | // For mesh_normal_consistency, find pairs of vertices opposite the same edge. 14 | // 15 | // Args: 16 | // edge_num: int64 Tensor of shape (E,) giving the number of vertices 17 | // corresponding to each edge. 18 | // 19 | // Returns: 20 | // pairs: int64 Tensor of shape (N,2) 21 | 22 | at::Tensor MeshNormalConsistencyFindVerticesCpu(const at::Tensor& edge_num); 23 | 24 | // Exposed implementation. 25 | at::Tensor MeshNormalConsistencyFindVertices(const at::Tensor& edge_num) { 26 | if (edge_num.is_cuda()) { 27 | AT_ERROR("This function needs a CPU tensor."); 28 | } 29 | return MeshNormalConsistencyFindVerticesCpu(edge_num); 30 | } 31 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/constants.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #ifndef PULSAR_NATIVE_CONSTANTS_H_ 10 | #define PULSAR_NATIVE_CONSTANTS_H_ 11 | 12 | #define EPS 1E-6 13 | #define FEPS 1E-6f 14 | #define MAX_FLOAT 3.4E38f 15 | #define MAX_INT 2147483647 16 | #define MAX_UINT 4294967295u 17 | #define MAX_USHORT 65535u 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/cuda/README.md: -------------------------------------------------------------------------------- 1 | # CUDA device compilation units 2 | 3 | This folder contains `.cu` files to create compilation units 4 | for device-specific functions. See `../include/README.md` for 5 | more information. 6 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/cuda/renderer.backward.gpu.cu: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.backward.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/cuda/renderer.backward_dbg.gpu.cu: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.backward_dbg.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/cuda/renderer.calc_gradients.gpu.cu: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.calc_gradients.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/cuda/renderer.calc_signature.gpu.cu: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.calc_signature.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/cuda/renderer.construct.gpu.cu: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.construct.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/cuda/renderer.create_selector.gpu.cu: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.create_selector.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/cuda/renderer.destruct.gpu.cu: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.destruct.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/cuda/renderer.fill_bg.gpu.cu: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.fill_bg.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/cuda/renderer.forward.gpu.cu: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.forward.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/cuda/renderer.norm_cam_gradients.gpu.cu: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.norm_cam_gradients.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/cuda/renderer.norm_sphere_gradients.gpu.cu: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.norm_sphere_gradients.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/cuda/renderer.render.gpu.cu: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.render.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/host/README.md: -------------------------------------------------------------------------------- 1 | # Device-specific host compilation units 2 | 3 | This folder contains `.cpp` files to create compilation units 4 | for device specific functions. See `../include/README.md` for 5 | more information. 6 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/host/renderer.backward.cpu.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.backward.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/host/renderer.backward_dbg.cpu.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.backward_dbg.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/host/renderer.calc_gradients.cpu.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.calc_gradients.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/host/renderer.calc_signature.cpu.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.calc_signature.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/host/renderer.construct.cpu.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.construct.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/host/renderer.create_selector.cpu.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.create_selector.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/host/renderer.destruct.cpu.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.destruct.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/host/renderer.fill_bg.cpu.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.fill_bg.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/host/renderer.forward.cpu.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.forward.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/host/renderer.norm_cam_gradients.cpu.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.norm_cam_gradients.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/host/renderer.norm_sphere_gradients.cpu.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.norm_sphere_gradients.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/host/renderer.render.cpu.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "../include/renderer.render.instantiate.h" 10 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/include/README.md: -------------------------------------------------------------------------------- 1 | # The `include` folder 2 | 3 | This folder contains header files with implementations of several useful 4 | algorithms. These implementations are usually done in files called `x.device.h` 5 | and use macros that route every device specific command to the right 6 | implementation (see `commands.h`). 7 | 8 | If you're using a device specific implementation, include `x.device.h`. 9 | This gives you the high-speed, device specific implementation that lets 10 | you work with all the details of the datastructure. All function calls are 11 | inlined. If you need to work with the high-level interface and be able to 12 | dynamically pick a device, only include `x.h`. The functions there are 13 | templated with a boolean `DEV` flag and are instantiated in device specific 14 | compilation units. You will not be able to use any other functions, but can 15 | use `func(params)` to work on a CUDA device, or `func(params)` 16 | to work on the host. 17 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/include/camera.device.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #ifndef PULSAR_NATIVE_INCLUDE_CAMERA_DEVICE_H_ 10 | #define PULSAR_NATIVE_INCLUDE_CAMERA_DEVICE_H_ 11 | 12 | #include "../global.h" 13 | #include "./camera.h" 14 | #include "./commands.h" 15 | 16 | namespace pulsar { 17 | IHD CamGradInfo::CamGradInfo() { 18 | cam_pos = make_float3(0.f, 0.f, 0.f); 19 | pixel_0_0_center = make_float3(0.f, 0.f, 0.f); 20 | pixel_dir_x = make_float3(0.f, 0.f, 0.f); 21 | pixel_dir_y = make_float3(0.f, 0.f, 0.f); 22 | } 23 | } // namespace pulsar 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/include/renderer.calc_signature.instantiate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #ifndef PULSAR_NATIVE_INCLUDE_RENDERER_CALC_SIGNATURE_INSTANTIATE_H_ 10 | #define PULSAR_NATIVE_INCLUDE_RENDERER_CALC_SIGNATURE_INSTANTIATE_H_ 11 | 12 | #include "./renderer.calc_signature.device.h" 13 | 14 | namespace pulsar { 15 | namespace Renderer { 16 | template GLOBAL void calc_signature( 17 | Renderer renderer, 18 | float3 const* const RESTRICT vert_poss, 19 | float const* const RESTRICT vert_cols, 20 | float const* const RESTRICT vert_rads, 21 | const uint num_balls); 22 | } 23 | } // namespace pulsar 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/include/renderer.construct.instantiate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #ifndef PULSAR_NATIVE_INCLUDE_RENDERER_CONSTRUCT_INSTANTIATE_H_ 10 | #define PULSAR_NATIVE_INCLUDE_RENDERER_CONSTRUCT_INSTANTIATE_H_ 11 | 12 | #include "./renderer.construct.device.h" 13 | 14 | namespace pulsar { 15 | namespace Renderer { 16 | template void construct( 17 | Renderer* self, 18 | const size_t& max_num_balls, 19 | const int& width, 20 | const int& height, 21 | const bool& orthogonal_projection, 22 | const bool& right_handed_system, 23 | const float& background_normalization_depth, 24 | const uint& n_channels, 25 | const uint& n_track); 26 | } 27 | } // namespace pulsar 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/include/renderer.create_selector.instantiate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #ifndef PULSAR_NATIVE_INCLUDE_RENDERER_CREATE_SELECTOR_INSTANTIATE_H_ 10 | #define PULSAR_NATIVE_INCLUDE_RENDERER_CREATE_SELECTOR_INSTANTIATE_H_ 11 | 12 | #include "./renderer.create_selector.device.h" 13 | 14 | namespace pulsar { 15 | namespace Renderer { 16 | 17 | template GLOBAL void create_selector( 18 | IntersectInfo const* const RESTRICT ii_sorted_d, 19 | const uint num_balls, 20 | const int min_x, 21 | const int max_x, 22 | const int min_y, 23 | const int max_y, 24 | /* Out variables. */ 25 | char* RESTRICT region_flags_d); 26 | 27 | } 28 | } // namespace pulsar 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/include/renderer.destruct.instantiate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #ifndef PULSAR_NATIVE_INCLUDE_RENDERER_DESTRUCT_INSTANTIATE_H_ 10 | #define PULSAR_NATIVE_INCLUDE_RENDERER_DESTRUCT_INSTANTIATE_H_ 11 | 12 | #include "./renderer.destruct.device.h" 13 | 14 | namespace pulsar { 15 | namespace Renderer { 16 | template void destruct(Renderer* self); 17 | } 18 | } // namespace pulsar 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/include/renderer.fill_bg.instantiate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "./renderer.fill_bg.device.h" 10 | 11 | namespace pulsar { 12 | namespace Renderer { 13 | 14 | template GLOBAL void fill_bg( 15 | Renderer renderer, 16 | const CamInfo norm, 17 | float const* const bg_col_d, 18 | const float gamma, 19 | const uint mode); 20 | 21 | } // namespace Renderer 22 | } // namespace pulsar 23 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/include/renderer.forward.instantiate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "./renderer.forward.device.h" 10 | 11 | namespace pulsar { 12 | namespace Renderer { 13 | 14 | template void forward( 15 | Renderer* self, 16 | const float* vert_pos, 17 | const float* vert_col, 18 | const float* vert_rad, 19 | const CamInfo& cam, 20 | const float& gamma, 21 | float percent_allowed_difference, 22 | const uint& max_n_hits, 23 | const float* bg_col_d, 24 | const float* opacity_d, 25 | const size_t& num_balls, 26 | const uint& mode, 27 | cudaStream_t stream); 28 | 29 | } // namespace Renderer 30 | } // namespace pulsar 31 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/include/renderer.norm_cam_gradients.instantiate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "./renderer.norm_cam_gradients.device.h" 10 | 11 | namespace pulsar { 12 | namespace Renderer { 13 | 14 | template GLOBAL void norm_cam_gradients(Renderer renderer); 15 | 16 | } // namespace Renderer 17 | } // namespace pulsar 18 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/include/renderer.norm_sphere_gradients.instantiate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "./renderer.norm_sphere_gradients.device.h" 10 | 11 | namespace pulsar { 12 | namespace Renderer { 13 | 14 | template GLOBAL void norm_sphere_gradients( 15 | Renderer renderer, 16 | const int num_balls); 17 | 18 | } // namespace Renderer 19 | } // namespace pulsar 20 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/pytorch/tensor_util.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #ifndef PULSAR_NATIVE_PYTORCH_TENSOR_UTIL_H_ 10 | #define PULSAR_NATIVE_PYTORCH_TENSOR_UTIL_H_ 11 | 12 | #include 13 | 14 | namespace pulsar { 15 | namespace pytorch { 16 | 17 | torch::Tensor sphere_ids_from_result_info_nograd( 18 | const torch::Tensor& forw_info); 19 | 20 | } 21 | } // namespace pulsar 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/pytorch/util.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #ifdef WITH_CUDA 10 | #include 11 | 12 | namespace pulsar { 13 | namespace pytorch { 14 | 15 | void cudaDevToDev( 16 | void* trg, 17 | const void* src, 18 | const int& size, 19 | const cudaStream_t& stream) { 20 | cudaMemcpyAsync(trg, src, size, cudaMemcpyDeviceToDevice, stream); 21 | } 22 | 23 | void cudaDevToHost( 24 | void* trg, 25 | const void* src, 26 | const int& size, 27 | const cudaStream_t& stream) { 28 | cudaMemcpyAsync(trg, src, size, cudaMemcpyDeviceToHost, stream); 29 | } 30 | 31 | } // namespace pytorch 32 | } // namespace pulsar 33 | #endif 34 | -------------------------------------------------------------------------------- /pytorch3d/csrc/pulsar/warnings.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "./global.h" 10 | #include "./logging.h" 11 | 12 | /** 13 | * A compilation unit to provide warnings about the code and avoid 14 | * repeated messages. 15 | */ 16 | #ifdef PULSAR_ASSERTIONS 17 | #pragma message("WARNING: assertions are enabled in Pulsar.") 18 | #endif 19 | #ifdef PULSAR_LOGGING_ENABLED 20 | #pragma message("WARNING: logging is enabled in Pulsar.") 21 | #endif 22 | -------------------------------------------------------------------------------- /pytorch3d/csrc/utils/pytorch3d_cutils.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #pragma once 10 | #include 11 | 12 | #define CHECK_CUDA(x) TORCH_CHECK(x.is_cuda(), #x " must be a CUDA tensor.") 13 | #define CHECK_CONTIGUOUS(x) \ 14 | TORCH_CHECK(x.is_contiguous(), #x " must be contiguous.") 15 | #define CHECK_CONTIGUOUS_CUDA(x) \ 16 | CHECK_CUDA(x); \ 17 | CHECK_CONTIGUOUS(x) 18 | -------------------------------------------------------------------------------- /pytorch3d/datasets/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | from .r2n2 import BlenderCamera, collate_batched_R2N2, R2N2, render_cubified_voxels 8 | from .shapenet import ShapeNetCore 9 | from .utils import collate_batched_meshes 10 | 11 | 12 | __all__ = [k for k in globals().keys() if not k.startswith("_")] 13 | -------------------------------------------------------------------------------- /pytorch3d/datasets/r2n2/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | from .r2n2 import R2N2 8 | from .utils import BlenderCamera, collate_batched_R2N2, render_cubified_voxels 9 | 10 | 11 | __all__ = [k for k in globals().keys() if not k.startswith("_")] 12 | -------------------------------------------------------------------------------- /pytorch3d/datasets/r2n2/r2n2_synset_dict.json: -------------------------------------------------------------------------------- 1 | { 2 | "04256520": "sofa", 3 | "02933112": "cabinet", 4 | "02828884": "bench", 5 | "03001627": "chair", 6 | "03211117": "display", 7 | "04090263": "rifle", 8 | "03691459": "loudspeaker", 9 | "03636649": "lamp", 10 | "04401088": "telephone", 11 | "02691156": "airplane", 12 | "04379243": "table", 13 | "02958343": "car", 14 | "04530566": "watercraft" 15 | } 16 | -------------------------------------------------------------------------------- /pytorch3d/datasets/shapenet/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | from .shapenet_core import ShapeNetCore 8 | 9 | 10 | __all__ = [k for k in globals().keys() if not k.startswith("_")] 11 | -------------------------------------------------------------------------------- /pytorch3d/implicitron/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /pytorch3d/implicitron/dataset/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /pytorch3d/implicitron/evaluation/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /pytorch3d/implicitron/models/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | # Allows to register the models 8 | # see: pytorch3d.implicitron.tools.config.registry:register 9 | from pytorch3d.implicitron.models.generic_model import GenericModel 10 | from pytorch3d.implicitron.models.overfit_model import OverfitModel 11 | -------------------------------------------------------------------------------- /pytorch3d/implicitron/models/feature_extractor/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | from .feature_extractor import FeatureExtractorBase 8 | -------------------------------------------------------------------------------- /pytorch3d/implicitron/models/global_encoder/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /pytorch3d/implicitron/models/implicit_function/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /pytorch3d/implicitron/models/renderer/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /pytorch3d/implicitron/models/view_pooler/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /pytorch3d/implicitron/models/visualization/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Copyright (c) Meta Platforms, Inc. and affiliates. 3 | # All rights reserved. 4 | # 5 | # This source code is licensed under the BSD-style license found in the 6 | # LICENSE file in the root directory of this source tree. 7 | -------------------------------------------------------------------------------- /pytorch3d/implicitron/third_party/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /pytorch3d/implicitron/tools/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /pytorch3d/io/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | 8 | from .obj_io import load_obj, load_objs_as_meshes, save_obj 9 | from .pluggable import IO 10 | from .ply_io import load_ply, save_ply 11 | 12 | 13 | __all__ = [k for k in globals().keys() if not k.startswith("_")] 14 | -------------------------------------------------------------------------------- /pytorch3d/loss/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | 8 | from .chamfer import chamfer_distance 9 | from .mesh_edge_loss import mesh_edge_loss 10 | from .mesh_laplacian_smoothing import mesh_laplacian_smoothing 11 | from .mesh_normal_consistency import mesh_normal_consistency 12 | from .point_mesh_distance import point_mesh_edge_distance, point_mesh_face_distance 13 | 14 | 15 | __all__ = [k for k in globals().keys() if not k.startswith("_")] 16 | -------------------------------------------------------------------------------- /pytorch3d/renderer/implicit/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | from .harmonic_embedding import HarmonicEmbedding 8 | from .raymarching import AbsorptionOnlyRaymarcher, EmissionAbsorptionRaymarcher 9 | from .raysampling import ( 10 | GridRaysampler, 11 | MonteCarloRaysampler, 12 | MultinomialRaysampler, 13 | NDCGridRaysampler, 14 | NDCMultinomialRaysampler, 15 | ) 16 | from .renderer import ImplicitRenderer, VolumeRenderer, VolumeSampler 17 | from .utils import ( 18 | HeterogeneousRayBundle, 19 | ray_bundle_to_ray_points, 20 | ray_bundle_variables_to_ray_points, 21 | RayBundle, 22 | ) 23 | 24 | 25 | __all__ = [k for k in globals().keys() if not k.startswith("_")] 26 | -------------------------------------------------------------------------------- /pytorch3d/renderer/points/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | from .compositor import AlphaCompositor, NormWeightedCompositor 8 | from .pulsar.unified import PulsarPointsRenderer 9 | from .rasterize_points import rasterize_points 10 | from .rasterizer import PointsRasterizationSettings, PointsRasterizer 11 | from .renderer import PointsRenderer 12 | 13 | 14 | __all__ = [k for k in globals().keys() if not k.startswith("_")] 15 | -------------------------------------------------------------------------------- /pytorch3d/renderer/points/pulsar/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | from .renderer import Renderer # noqa: F401 8 | -------------------------------------------------------------------------------- /pytorch3d/structures/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | from .meshes import join_meshes_as_batch, join_meshes_as_scene, Meshes 8 | from .pointclouds import ( 9 | join_pointclouds_as_batch, 10 | join_pointclouds_as_scene, 11 | Pointclouds, 12 | ) 13 | from .utils import list_to_packed, list_to_padded, packed_to_list, padded_to_list 14 | from .volumes import Volumes 15 | 16 | 17 | __all__ = [k for k in globals().keys() if not k.startswith("_")] 18 | -------------------------------------------------------------------------------- /pytorch3d/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | from .camera_conversions import ( 8 | cameras_from_opencv_projection, 9 | opencv_from_cameras_projection, 10 | pulsar_from_cameras_projection, 11 | pulsar_from_opencv_projection, 12 | ) 13 | from .checkerboard import checkerboard 14 | from .ico_sphere import ico_sphere 15 | from .torus import torus 16 | 17 | 18 | __all__ = [k for k in globals().keys() if not k.startswith("_")] 19 | -------------------------------------------------------------------------------- /pytorch3d/vis/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | import warnings 8 | 9 | 10 | try: 11 | from .plotly_vis import get_camera_wireframe, plot_batch_individually, plot_scene 12 | except ModuleNotFoundError as err: 13 | if "plotly" in str(err): 14 | warnings.warn( 15 | "Cannot import plotly-based visualization code." 16 | " Please install plotly to enable (pip install plotly)." 17 | ) 18 | else: 19 | raise 20 | 21 | from .texture_vis import texturesuv_image_matplotlib, texturesuv_image_PIL 22 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | [isort] 8 | line_length = 88 9 | multi_line_output = 3 10 | include_trailing_comma = True 11 | force_grid_warp = 0 12 | default_section = THIRDPARTY 13 | lines_after_imports = 2 14 | combine_as_imports = True 15 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /tests/benchmarks/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /tests/benchmarks/bm_acos_linear_extrapolation.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | from fvcore.common.benchmark import benchmark 8 | from tests.test_acos_linear_extrapolation import TestAcosLinearExtrapolation 9 | 10 | 11 | def bm_acos_linear_extrapolation() -> None: 12 | kwargs_list = [ 13 | {"batch_size": 1}, 14 | {"batch_size": 100}, 15 | {"batch_size": 10000}, 16 | {"batch_size": 1000000}, 17 | ] 18 | benchmark( 19 | TestAcosLinearExtrapolation.acos_linear_extrapolation, 20 | "ACOS_LINEAR_EXTRAPOLATION", 21 | kwargs_list, 22 | warmup_iters=1, 23 | ) 24 | 25 | 26 | if __name__ == "__main__": 27 | bm_acos_linear_extrapolation() 28 | -------------------------------------------------------------------------------- /tests/benchmarks/bm_cameras_alignment.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | import itertools 8 | 9 | from fvcore.common.benchmark import benchmark 10 | from tests.test_cameras_alignment import TestCamerasAlignment 11 | 12 | 13 | def bm_cameras_alignment() -> None: 14 | 15 | case_grid = { 16 | "batch_size": [10, 100, 1000], 17 | "mode": ["centers", "extrinsics"], 18 | "estimate_scale": [False, True], 19 | } 20 | test_cases = itertools.product(*case_grid.values()) 21 | kwargs_list = [dict(zip(case_grid.keys(), case)) for case in test_cases] 22 | 23 | benchmark( 24 | TestCamerasAlignment.corresponding_cameras_alignment, 25 | "CORRESPONDING_CAMERAS_ALIGNMENT", 26 | kwargs_list, 27 | warmup_iters=1, 28 | ) 29 | 30 | 31 | if __name__ == "__main__": 32 | bm_cameras_alignment() 33 | -------------------------------------------------------------------------------- /tests/benchmarks/bm_cubify.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | from fvcore.common.benchmark import benchmark 8 | from tests.test_cubify import TestCubify 9 | 10 | 11 | def bm_cubify() -> None: 12 | kwargs_list = [ 13 | {"batch_size": 32, "V": 16}, 14 | {"batch_size": 64, "V": 16}, 15 | {"batch_size": 16, "V": 32}, 16 | ] 17 | benchmark(TestCubify.cubify_with_init, "CUBIFY", kwargs_list, warmup_iters=1) 18 | 19 | 20 | if __name__ == "__main__": 21 | bm_cubify() 22 | -------------------------------------------------------------------------------- /tests/benchmarks/bm_knn.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | from itertools import product 8 | 9 | from fvcore.common.benchmark import benchmark 10 | from tests.test_knn import TestKNN 11 | 12 | 13 | def bm_knn() -> None: 14 | 15 | backends = ["cpu", "cuda:0"] 16 | 17 | kwargs_list = [] 18 | Ns = [32] 19 | P1s = [256] 20 | P2s = [128, 512] 21 | Ds = [3] 22 | Ks = [24] 23 | test_cases = product(Ns, P1s, P2s, Ds, Ks, backends) 24 | for case in test_cases: 25 | N, P1, P2, D, K, b = case 26 | kwargs_list.append({"N": N, "P1": P1, "P2": P2, "D": D, "K": K, "device": b}) 27 | 28 | benchmark(TestKNN.knn_square, "KNN_SQUARE", kwargs_list, warmup_iters=1) 29 | 30 | benchmark(TestKNN.knn_ragged, "KNN_RAGGED", kwargs_list, warmup_iters=1) 31 | 32 | 33 | if __name__ == "__main__": 34 | bm_knn() 35 | -------------------------------------------------------------------------------- /tests/benchmarks/bm_marching_cubes.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | import itertools 8 | 9 | from fvcore.common.benchmark import benchmark 10 | from tests.test_marching_cubes import TestMarchingCubes 11 | 12 | 13 | def bm_marching_cubes() -> None: 14 | case_grid = { 15 | "algo_type": [ 16 | "naive", 17 | "extension", 18 | ], 19 | "batch_size": [1, 2], 20 | "V": [5, 10, 20, 100, 512], 21 | "device": ["cpu", "cuda:0"], 22 | } 23 | test_cases = itertools.product(*case_grid.values()) 24 | kwargs_list = [dict(zip(case_grid.keys(), case)) for case in test_cases] 25 | 26 | benchmark( 27 | TestMarchingCubes.marching_cubes_with_init, 28 | "MARCHING_CUBES", 29 | kwargs_list, 30 | warmup_iters=1, 31 | ) 32 | 33 | 34 | if __name__ == "__main__": 35 | bm_marching_cubes() 36 | -------------------------------------------------------------------------------- /tests/benchmarks/bm_mesh_edge_loss.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | 8 | from itertools import product 9 | 10 | from fvcore.common.benchmark import benchmark 11 | from tests.test_mesh_edge_loss import TestMeshEdgeLoss 12 | 13 | 14 | def bm_mesh_edge_loss() -> None: 15 | kwargs_list = [] 16 | num_meshes = [1, 16, 32] 17 | max_v = [100, 10000] 18 | max_f = [300, 30000] 19 | test_cases = product(num_meshes, max_v, max_f) 20 | for case in test_cases: 21 | n, v, f = case 22 | kwargs_list.append({"num_meshes": n, "max_v": v, "max_f": f}) 23 | benchmark( 24 | TestMeshEdgeLoss.mesh_edge_loss, "MESH_EDGE_LOSS", kwargs_list, warmup_iters=1 25 | ) 26 | 27 | 28 | if __name__ == "__main__": 29 | bm_mesh_edge_loss() 30 | -------------------------------------------------------------------------------- /tests/benchmarks/bm_perspective_n_points.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | import itertools 8 | 9 | from fvcore.common.benchmark import benchmark 10 | from tests.test_perspective_n_points import TestPerspectiveNPoints 11 | 12 | 13 | def bm_perspective_n_points() -> None: 14 | case_grid = { 15 | "batch_size": [1, 10, 100], 16 | "num_pts": [100, 100000], 17 | "skip_q": [False, True], 18 | } 19 | 20 | test_cases = itertools.product(*case_grid.values()) 21 | kwargs_list = [dict(zip(case_grid.keys(), case)) for case in test_cases] 22 | 23 | test = TestPerspectiveNPoints() 24 | benchmark( 25 | test.case_with_gaussian_points, 26 | "PerspectiveNPoints", 27 | kwargs_list, 28 | warmup_iters=1, 29 | ) 30 | 31 | 32 | if __name__ == "__main__": 33 | bm_perspective_n_points() 34 | -------------------------------------------------------------------------------- /tests/benchmarks/bm_raymarching.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | import itertools 8 | 9 | from fvcore.common.benchmark import benchmark 10 | from pytorch3d.renderer import AbsorptionOnlyRaymarcher, EmissionAbsorptionRaymarcher 11 | from tests.test_raymarching import TestRaymarching 12 | 13 | 14 | def bm_raymarching() -> None: 15 | case_grid = { 16 | "raymarcher_type": [EmissionAbsorptionRaymarcher, AbsorptionOnlyRaymarcher], 17 | "n_rays": [10, 1000, 10000], 18 | "n_pts_per_ray": [10, 1000, 10000], 19 | } 20 | test_cases = itertools.product(*case_grid.values()) 21 | kwargs_list = [dict(zip(case_grid.keys(), case)) for case in test_cases] 22 | 23 | benchmark(TestRaymarching.raymarcher, "RAYMARCHER", kwargs_list, warmup_iters=1) 24 | -------------------------------------------------------------------------------- /tests/benchmarks/bm_render_implicit.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | import itertools 8 | 9 | from fvcore.common.benchmark import benchmark 10 | from pytorch3d.renderer import AbsorptionOnlyRaymarcher, EmissionAbsorptionRaymarcher 11 | from tests.test_render_implicit import TestRenderImplicit 12 | 13 | 14 | def bm_render_volumes() -> None: 15 | case_grid = { 16 | "batch_size": [1, 5], 17 | "raymarcher_type": [EmissionAbsorptionRaymarcher, AbsorptionOnlyRaymarcher], 18 | "n_rays_per_image": [64**2, 256**2], 19 | "n_pts_per_ray": [16, 128], 20 | } 21 | test_cases = itertools.product(*case_grid.values()) 22 | kwargs_list = [dict(zip(case_grid.keys(), case)) for case in test_cases] 23 | 24 | benchmark( 25 | TestRenderImplicit.renderer, "IMPLICIT_RENDERER", kwargs_list, warmup_iters=1 26 | ) 27 | -------------------------------------------------------------------------------- /tests/benchmarks/bm_se3.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | from fvcore.common.benchmark import benchmark 8 | from tests.test_se3 import TestSE3 9 | 10 | 11 | def bm_se3() -> None: 12 | kwargs_list = [ 13 | {"batch_size": 1}, 14 | {"batch_size": 10}, 15 | {"batch_size": 100}, 16 | {"batch_size": 1000}, 17 | ] 18 | benchmark(TestSE3.se3_expmap, "SE3_EXP", kwargs_list, warmup_iters=1) 19 | benchmark(TestSE3.se3_logmap, "SE3_LOG", kwargs_list, warmup_iters=1) 20 | 21 | 22 | if __name__ == "__main__": 23 | bm_se3() 24 | -------------------------------------------------------------------------------- /tests/benchmarks/bm_so3.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | from fvcore.common.benchmark import benchmark 8 | from tests.test_so3 import TestSO3 9 | 10 | 11 | def bm_so3() -> None: 12 | kwargs_list = [ 13 | {"batch_size": 1}, 14 | {"batch_size": 10}, 15 | {"batch_size": 100}, 16 | {"batch_size": 1000}, 17 | ] 18 | benchmark(TestSO3.so3_expmap, "SO3_EXP", kwargs_list, warmup_iters=1) 19 | benchmark(TestSO3.so3_logmap, "SO3_LOG", kwargs_list, warmup_iters=1) 20 | 21 | 22 | if __name__ == "__main__": 23 | bm_so3() 24 | -------------------------------------------------------------------------------- /tests/benchmarks/bm_subdivide_meshes.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | 8 | from itertools import product 9 | 10 | from fvcore.common.benchmark import benchmark 11 | from tests.test_subdivide_meshes import TestSubdivideMeshes 12 | 13 | 14 | def bm_subdivide() -> None: 15 | kwargs_list = [] 16 | num_meshes = [1, 16, 32] 17 | same_topo = [True, False] 18 | test_cases = product(num_meshes, same_topo) 19 | for case in test_cases: 20 | n, s = case 21 | kwargs_list.append({"num_meshes": n, "same_topo": s}) 22 | benchmark( 23 | TestSubdivideMeshes.subdivide_meshes_with_init, 24 | "SUBDIVIDE", 25 | kwargs_list, 26 | warmup_iters=1, 27 | ) 28 | 29 | 30 | if __name__ == "__main__": 31 | bm_subdivide() 32 | -------------------------------------------------------------------------------- /tests/data/cow.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/cow.glb -------------------------------------------------------------------------------- /tests/data/glb_cow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/glb_cow.png -------------------------------------------------------------------------------- /tests/data/glb_cow_gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/glb_cow_gray.png -------------------------------------------------------------------------------- /tests/data/icp_data.pth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/icp_data.pth -------------------------------------------------------------------------------- /tests/data/missing_files_obj/model.mtl: -------------------------------------------------------------------------------- 1 | newmtl material_1 2 | map_Kd material_1.png 3 | 4 | # Test colors 5 | 6 | Ka 1.000 1.000 1.000 # white 7 | Kd 1.000 1.000 1.000 # white 8 | Ks 0.000 0.000 0.000 # black 9 | Ns 10.0 10 | -------------------------------------------------------------------------------- /tests/data/missing_files_obj/model.obj: -------------------------------------------------------------------------------- 1 | 2 | mtllib model.mtl 3 | 4 | v 0.1 0.2 0.3 5 | v 0.2 0.3 0.4 6 | v 0.3 0.4 0.5 7 | v 0.4 0.5 0.6 8 | usemtl material_1 9 | f 1 2 3 10 | f 1 2 4 11 | -------------------------------------------------------------------------------- /tests/data/missing_files_obj/model2.obj: -------------------------------------------------------------------------------- 1 | 2 | mtllib model2.mtl 3 | 4 | v 0.1 0.2 0.3 5 | v 0.2 0.3 0.4 6 | v 0.3 0.4 0.5 7 | v 0.4 0.5 0.6 8 | usemtl material_1 9 | f 1 2 3 10 | f 1 2 4 11 | -------------------------------------------------------------------------------- /tests/data/missing_usemtl/README.md: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | 3 | This is copied version of docs/tutorials/data/cow_mesh with removed line 6159 (usemtl material_1) to test behavior without usemtl material_1 declaration. 4 | 5 | Thank you to Keenan Crane for allowing the cow mesh model to be used freely in the public domain. 6 | 7 | ###### Source: http://www.cs.cmu.edu/~kmcrane/Projects/ModelRepository/ 8 | -------------------------------------------------------------------------------- /tests/data/missing_usemtl/cow.mtl: -------------------------------------------------------------------------------- 1 | newmtl material_1 2 | map_Kd cow_texture.png 3 | 4 | # Test colors 5 | 6 | Ka 1.000 1.000 1.000 # white 7 | Kd 1.000 1.000 1.000 # white 8 | Ks 0.000 0.000 0.000 # black 9 | Ns 10.0 10 | -------------------------------------------------------------------------------- /tests/data/missing_usemtl/cow_texture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/missing_usemtl/cow_texture.png -------------------------------------------------------------------------------- /tests/data/obj_mtl_no_image/model.mtl: -------------------------------------------------------------------------------- 1 | # Material Count: 1 2 | 3 | newmtl material_1 4 | Ns 96.078431 5 | Ka 0.000000 0.000000 0.000000 6 | Kd 0.500000 0.000000 0.000000 7 | Ks 0.500000 0.500000 0.500000 8 | -------------------------------------------------------------------------------- /tests/data/obj_mtl_no_image/model.obj: -------------------------------------------------------------------------------- 1 | 2 | mtllib model.mtl 3 | 4 | v 0.1 0.2 0.3 5 | v 0.2 0.3 0.4 6 | v 0.3 0.4 0.5 7 | v 0.4 0.5 0.6 8 | usemtl material_1 9 | f 1 2 3 10 | f 1 2 4 11 | -------------------------------------------------------------------------------- /tests/data/objectron_vols_ious.pt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/objectron_vols_ious.pt -------------------------------------------------------------------------------- /tests/data/real_boxes.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/real_boxes.pkl -------------------------------------------------------------------------------- /tests/data/room.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/room.jpg -------------------------------------------------------------------------------- /tests/data/test_FishEyeCameras_silhouette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_FishEyeCameras_silhouette.png -------------------------------------------------------------------------------- /tests/data/test_FoVOrthographicCameras_silhouette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_FoVOrthographicCameras_silhouette.png -------------------------------------------------------------------------------- /tests/data/test_FoVPerspectiveCameras_silhouette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_FoVPerspectiveCameras_silhouette.png -------------------------------------------------------------------------------- /tests/data/test_OrthographicCameras_silhouette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_OrthographicCameras_silhouette.png -------------------------------------------------------------------------------- /tests/data/test_PerspectiveCameras_silhouette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_PerspectiveCameras_silhouette.png -------------------------------------------------------------------------------- /tests/data/test_blurry_textured_rendering.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_blurry_textured_rendering.png -------------------------------------------------------------------------------- /tests/data/test_bridge_pointcloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_bridge_pointcloud.png -------------------------------------------------------------------------------- /tests/data/test_cow_image_rectangle_MeshRasterizer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_cow_image_rectangle_MeshRasterizer.png -------------------------------------------------------------------------------- /tests/data/test_cow_image_rectangle_MeshRasterizerOpenGL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_cow_image_rectangle_MeshRasterizerOpenGL.png -------------------------------------------------------------------------------- /tests/data/test_cow_mesh_FishEyeCameras_radial_False_tangential_False_prism_False.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_cow_mesh_FishEyeCameras_radial_False_tangential_False_prism_False.png -------------------------------------------------------------------------------- /tests/data/test_cow_mesh_FishEyeCameras_radial_False_tangential_False_prism_True.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_cow_mesh_FishEyeCameras_radial_False_tangential_False_prism_True.png -------------------------------------------------------------------------------- /tests/data/test_cow_mesh_FishEyeCameras_radial_False_tangential_True_prism_False.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_cow_mesh_FishEyeCameras_radial_False_tangential_True_prism_False.png -------------------------------------------------------------------------------- /tests/data/test_cow_mesh_FishEyeCameras_radial_False_tangential_True_prism_True.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_cow_mesh_FishEyeCameras_radial_False_tangential_True_prism_True.png -------------------------------------------------------------------------------- /tests/data/test_cow_mesh_FishEyeCameras_radial_True_tangential_False_prism_False.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_cow_mesh_FishEyeCameras_radial_True_tangential_False_prism_False.png -------------------------------------------------------------------------------- /tests/data/test_cow_mesh_FishEyeCameras_radial_True_tangential_False_prism_True.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_cow_mesh_FishEyeCameras_radial_True_tangential_False_prism_True.png -------------------------------------------------------------------------------- /tests/data/test_cow_mesh_FishEyeCameras_radial_True_tangential_True_prism_False.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_cow_mesh_FishEyeCameras_radial_True_tangential_True_prism_False.png -------------------------------------------------------------------------------- /tests/data/test_cow_mesh_FishEyeCameras_radial_True_tangential_True_prism_True.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_cow_mesh_FishEyeCameras_radial_True_tangential_True_prism_True.png -------------------------------------------------------------------------------- /tests/data/test_fisheye_rasterized_sphere_MeshRasterizer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_fisheye_rasterized_sphere_MeshRasterizer.png -------------------------------------------------------------------------------- /tests/data/test_joinatlas_1_MeshRasterizer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joinatlas_1_MeshRasterizer.png -------------------------------------------------------------------------------- /tests/data/test_joinatlas_1_MeshRasterizerOpenGL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joinatlas_1_MeshRasterizerOpenGL.png -------------------------------------------------------------------------------- /tests/data/test_joinatlas_2_MeshRasterizer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joinatlas_2_MeshRasterizer.png -------------------------------------------------------------------------------- /tests/data/test_joinatlas_2_MeshRasterizerOpenGL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joinatlas_2_MeshRasterizerOpenGL.png -------------------------------------------------------------------------------- /tests/data/test_joinatlas_final_MeshRasterizer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joinatlas_final_MeshRasterizer.png -------------------------------------------------------------------------------- /tests/data/test_joinatlas_final_MeshRasterizerOpenGL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joinatlas_final_MeshRasterizerOpenGL.png -------------------------------------------------------------------------------- /tests/data/test_joined_spheres_flat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joined_spheres_flat.png -------------------------------------------------------------------------------- /tests/data/test_joined_spheres_gouraud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joined_spheres_gouraud.png -------------------------------------------------------------------------------- /tests/data/test_joined_spheres_phong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joined_spheres_phong.png -------------------------------------------------------------------------------- /tests/data/test_joined_spheres_splatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joined_spheres_splatter.png -------------------------------------------------------------------------------- /tests/data/test_joinuvs0_MeshRasterizerOpenGL_final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joinuvs0_MeshRasterizerOpenGL_final.png -------------------------------------------------------------------------------- /tests/data/test_joinuvs0_MeshRasterizer_final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joinuvs0_MeshRasterizer_final.png -------------------------------------------------------------------------------- /tests/data/test_joinuvs0_map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joinuvs0_map.png -------------------------------------------------------------------------------- /tests/data/test_joinuvs1_MeshRasterizerOpenGL_final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joinuvs1_MeshRasterizerOpenGL_final.png -------------------------------------------------------------------------------- /tests/data/test_joinuvs1_MeshRasterizer_final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joinuvs1_MeshRasterizer_final.png -------------------------------------------------------------------------------- /tests/data/test_joinuvs1_map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joinuvs1_map.png -------------------------------------------------------------------------------- /tests/data/test_joinuvs2_MeshRasterizerOpenGL_final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joinuvs2_MeshRasterizerOpenGL_final.png -------------------------------------------------------------------------------- /tests/data/test_joinuvs2_MeshRasterizer_final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joinuvs2_MeshRasterizer_final.png -------------------------------------------------------------------------------- /tests/data/test_joinuvs2_map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joinuvs2_map.png -------------------------------------------------------------------------------- /tests/data/test_joinverts_final_MeshRasterizer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joinverts_final_MeshRasterizer.png -------------------------------------------------------------------------------- /tests/data/test_joinverts_final_MeshRasterizerOpenGL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_joinverts_final_MeshRasterizerOpenGL.png -------------------------------------------------------------------------------- /tests/data/test_marching_cubes_data/double_ellipsoid.pickle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_marching_cubes_data/double_ellipsoid.pickle -------------------------------------------------------------------------------- /tests/data/test_marching_cubes_data/sphere_level64.pickle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_marching_cubes_data/sphere_level64.pickle -------------------------------------------------------------------------------- /tests/data/test_nd_sphere.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_nd_sphere.png -------------------------------------------------------------------------------- /tests/data/test_perspective_rasterized_sphere_MeshRasterizer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_perspective_rasterized_sphere_MeshRasterizer.png -------------------------------------------------------------------------------- /tests/data/test_pointcloud_rectangle_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_pointcloud_rectangle_image.png -------------------------------------------------------------------------------- /tests/data/test_pulsar_simple_pointcloud_sphere_azimuth0.0_fovorthographic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_pulsar_simple_pointcloud_sphere_azimuth0.0_fovorthographic.png -------------------------------------------------------------------------------- /tests/data/test_pulsar_simple_pointcloud_sphere_azimuth0.0_fovperspective.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_pulsar_simple_pointcloud_sphere_azimuth0.0_fovperspective.png -------------------------------------------------------------------------------- /tests/data/test_pulsar_simple_pointcloud_sphere_azimuth0.0_orthographic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_pulsar_simple_pointcloud_sphere_azimuth0.0_orthographic.png -------------------------------------------------------------------------------- /tests/data/test_pulsar_simple_pointcloud_sphere_azimuth0.0_perspective.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_pulsar_simple_pointcloud_sphere_azimuth0.0_perspective.png -------------------------------------------------------------------------------- /tests/data/test_pulsar_simple_pointcloud_sphere_azimuth90.0_fovorthographic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_pulsar_simple_pointcloud_sphere_azimuth90.0_fovorthographic.png -------------------------------------------------------------------------------- /tests/data/test_pulsar_simple_pointcloud_sphere_azimuth90.0_fovperspective.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_pulsar_simple_pointcloud_sphere_azimuth90.0_fovperspective.png -------------------------------------------------------------------------------- /tests/data/test_pulsar_simple_pointcloud_sphere_azimuth90.0_orthographic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_pulsar_simple_pointcloud_sphere_azimuth90.0_orthographic.png -------------------------------------------------------------------------------- /tests/data/test_pulsar_simple_pointcloud_sphere_azimuth90.0_perspective.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_pulsar_simple_pointcloud_sphere_azimuth90.0_perspective.png -------------------------------------------------------------------------------- /tests/data/test_r2n2_render_by_categories_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_r2n2_render_by_categories_0.png -------------------------------------------------------------------------------- /tests/data/test_r2n2_render_by_categories_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_r2n2_render_by_categories_1.png -------------------------------------------------------------------------------- /tests/data/test_r2n2_render_by_categories_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_r2n2_render_by_categories_2.png -------------------------------------------------------------------------------- /tests/data/test_r2n2_render_by_idxs_and_ids_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_r2n2_render_by_idxs_and_ids_0.png -------------------------------------------------------------------------------- /tests/data/test_r2n2_render_by_idxs_and_ids_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_r2n2_render_by_idxs_and_ids_1.png -------------------------------------------------------------------------------- /tests/data/test_r2n2_render_by_idxs_and_ids_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_r2n2_render_by_idxs_and_ids_2.png -------------------------------------------------------------------------------- /tests/data/test_r2n2_render_with_blender_calibrations_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_r2n2_render_with_blender_calibrations_0.png -------------------------------------------------------------------------------- /tests/data/test_r2n2_render_with_blender_calibrations_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_r2n2_render_with_blender_calibrations_1.png -------------------------------------------------------------------------------- /tests/data/test_r2n2_render_with_blender_calibrations_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_r2n2_render_with_blender_calibrations_2.png -------------------------------------------------------------------------------- /tests/data/test_r2n2_render_with_blender_calibrations_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_r2n2_render_with_blender_calibrations_3.png -------------------------------------------------------------------------------- /tests/data/test_r2n2_voxel_to_mesh_render.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_r2n2_voxel_to_mesh_render.png -------------------------------------------------------------------------------- /tests/data/test_rasterized_fisheye_sphere_points.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_rasterized_fisheye_sphere_points.png -------------------------------------------------------------------------------- /tests/data/test_rasterized_perspective_sphere_points.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_rasterized_perspective_sphere_points.png -------------------------------------------------------------------------------- /tests/data/test_rasterized_sphere_MeshRasterizer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_rasterized_sphere_MeshRasterizer.png -------------------------------------------------------------------------------- /tests/data/test_rasterized_sphere_MeshRasterizerOpenGL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_rasterized_sphere_MeshRasterizerOpenGL.png -------------------------------------------------------------------------------- /tests/data/test_rasterized_sphere_zoom_MeshRasterizer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_rasterized_sphere_zoom_MeshRasterizer.png -------------------------------------------------------------------------------- /tests/data/test_rasterized_sphere_zoom_MeshRasterizerOpenGL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_rasterized_sphere_zoom_MeshRasterizerOpenGL.png -------------------------------------------------------------------------------- /tests/data/test_render_fisheye_sphere_points.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_render_fisheye_sphere_points.png -------------------------------------------------------------------------------- /tests/data/test_shapenet_core_render_mixed_by_categories_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_shapenet_core_render_mixed_by_categories_0.png -------------------------------------------------------------------------------- /tests/data/test_shapenet_core_render_mixed_by_categories_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_shapenet_core_render_mixed_by_categories_1.png -------------------------------------------------------------------------------- /tests/data/test_shapenet_core_render_mixed_by_categories_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_shapenet_core_render_mixed_by_categories_2.png -------------------------------------------------------------------------------- /tests/data/test_shapenet_core_render_piano.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_shapenet_core_render_piano.png -------------------------------------------------------------------------------- /tests/data/test_shapenet_core_render_piano_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_shapenet_core_render_piano_0.png -------------------------------------------------------------------------------- /tests/data/test_shapenet_core_render_piano_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_shapenet_core_render_piano_1.png -------------------------------------------------------------------------------- /tests/data/test_shapenet_core_render_piano_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_shapenet_core_render_piano_2.png -------------------------------------------------------------------------------- /tests/data/test_shapenet_core_render_without_sample_nums_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_shapenet_core_render_without_sample_nums_0.png -------------------------------------------------------------------------------- /tests/data/test_shapenet_core_render_without_sample_nums_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_shapenet_core_render_without_sample_nums_1.png -------------------------------------------------------------------------------- /tests/data/test_simple_pointcloud_sphere.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_pointcloud_sphere.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_batched_flat_FoVPerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_batched_flat_FoVPerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_batched_flat_FoVPerspectiveCameras_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_batched_flat_FoVPerspectiveCameras_0.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_batched_flat_FoVPerspectiveCameras_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_batched_flat_FoVPerspectiveCameras_1.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_batched_flat_FoVPerspectiveCameras_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_batched_flat_FoVPerspectiveCameras_2.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_batched_gouraud_FoVPerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_batched_gouraud_FoVPerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_batched_gouraud_FoVPerspectiveCameras_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_batched_gouraud_FoVPerspectiveCameras_0.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_batched_gouraud_FoVPerspectiveCameras_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_batched_gouraud_FoVPerspectiveCameras_1.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_batched_gouraud_FoVPerspectiveCameras_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_batched_gouraud_FoVPerspectiveCameras_2.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_batched_phong_FoVPerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_batched_phong_FoVPerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_batched_phong_FoVPerspectiveCameras_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_batched_phong_FoVPerspectiveCameras_0.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_batched_phong_FoVPerspectiveCameras_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_batched_phong_FoVPerspectiveCameras_1.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_batched_phong_FoVPerspectiveCameras_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_batched_phong_FoVPerspectiveCameras_2.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_batched_splatter_FoVPerspectiveCameras_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_batched_splatter_FoVPerspectiveCameras_0.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_batched_splatter_FoVPerspectiveCameras_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_batched_splatter_FoVPerspectiveCameras_1.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_batched_splatter_FoVPerspectiveCameras_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_batched_splatter_FoVPerspectiveCameras_2.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_dark_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_dark_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_dark_FoVOrthographicCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_dark_FoVOrthographicCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_dark_FoVPerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_dark_FoVPerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_dark_OrthographicCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_dark_OrthographicCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_dark_PerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_dark_PerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_dark_elevated_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_dark_elevated_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_dark_elevated_FoVOrthographicCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_dark_elevated_FoVOrthographicCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_dark_elevated_FoVPerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_dark_elevated_FoVPerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_dark_elevated_OrthographicCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_dark_elevated_OrthographicCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_dark_elevated_PerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_dark_elevated_PerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_dark_elevated_none_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_dark_elevated_none_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_dark_none_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_dark_none_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_dark_prism_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_dark_prism_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_dark_radial_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_dark_radial_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_dark_radial_tangential_prism_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_dark_radial_tangential_prism_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_dark_tangential_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_dark_tangential_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_dark_tangential_prism_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_dark_tangential_prism_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_flat_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_flat_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_flat_FoVOrthographicCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_flat_FoVOrthographicCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_flat_FoVPerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_flat_FoVPerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_flat_OrthographicCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_flat_OrthographicCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_flat_PerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_flat_PerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_flat_elevated_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_flat_elevated_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_flat_elevated_FoVOrthographicCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_flat_elevated_FoVOrthographicCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_flat_elevated_FoVPerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_flat_elevated_FoVPerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_flat_elevated_OrthographicCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_flat_elevated_OrthographicCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_flat_elevated_PerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_flat_elevated_PerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_flat_elevated_none_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_flat_elevated_none_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_flat_none_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_flat_none_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_gouraud_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_gouraud_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_gouraud_FoVOrthographicCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_gouraud_FoVOrthographicCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_gouraud_FoVPerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_gouraud_FoVPerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_gouraud_OrthographicCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_gouraud_OrthographicCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_gouraud_PerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_gouraud_PerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_gouraud_elevated_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_gouraud_elevated_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_gouraud_elevated_FoVOrthographicCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_gouraud_elevated_FoVOrthographicCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_gouraud_elevated_FoVPerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_gouraud_elevated_FoVPerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_gouraud_elevated_OrthographicCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_gouraud_elevated_OrthographicCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_gouraud_elevated_PerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_gouraud_elevated_PerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_gouraud_elevated_none_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_gouraud_elevated_none_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_gouraud_none_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_gouraud_none_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_flat_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_flat_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_flat_elevated_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_flat_elevated_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_flat_prism_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_flat_prism_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_flat_radial_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_flat_radial_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_flat_radial_tangential_prism_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_flat_radial_tangential_prism_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_flat_tangential_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_flat_tangential_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_flat_tangential_prism_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_flat_tangential_prism_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_gouraud_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_gouraud_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_gouraud_elevated_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_gouraud_elevated_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_gouraud_prism_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_gouraud_prism_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_gouraud_radial_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_gouraud_radial_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_gouraud_radial_tangential_prism_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_gouraud_radial_tangential_prism_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_gouraud_tangential_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_gouraud_tangential_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_gouraud_tangential_prism_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_gouraud_tangential_prism_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_phong_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_phong_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_phong_elevated_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_phong_elevated_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_phong_elevated_radial_tangential_prism_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_phong_elevated_radial_tangential_prism_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_phong_none_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_phong_none_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_phong_prism_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_phong_prism_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_phong_radial_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_phong_radial_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_phong_radial_tangential_prism_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_phong_radial_tangential_prism_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_phong_tangential_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_phong_tangential_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_hard_phong_tangential_prism_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_hard_phong_tangential_prism_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_phong_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_phong_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_phong_FoVOrthographicCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_phong_FoVOrthographicCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_phong_FoVPerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_phong_FoVPerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_phong_OrthographicCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_phong_OrthographicCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_phong_PerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_phong_PerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_phong_elevated_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_phong_elevated_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_phong_elevated_FoVOrthographicCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_phong_elevated_FoVOrthographicCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_phong_elevated_FoVPerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_phong_elevated_FoVPerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_phong_elevated_OrthographicCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_phong_elevated_OrthographicCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_phong_elevated_PerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_phong_elevated_PerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_phong_none_FishEyeCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_phong_none_FishEyeCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_splatter_FoVOrthographicCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_splatter_FoVOrthographicCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_splatter_FoVPerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_splatter_FoVPerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_splatter_elevated_FoVOrthographicCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_splatter_elevated_FoVOrthographicCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_light_splatter_elevated_FoVPerspectiveCameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_light_splatter_elevated_FoVPerspectiveCameras.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_outside_zfar_10000_MeshRasterizer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_outside_zfar_10000_MeshRasterizer.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_outside_zfar_10000_MeshRasterizerOpenGL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_outside_zfar_10000_MeshRasterizerOpenGL.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_outside_zfar_100_MeshRasterizer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_outside_zfar_100_MeshRasterizer.png -------------------------------------------------------------------------------- /tests/data/test_simple_sphere_outside_zfar_100_MeshRasterizerOpenGL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_simple_sphere_outside_zfar_100_MeshRasterizerOpenGL.png -------------------------------------------------------------------------------- /tests/data/test_texture_atlas_8x8_back_MeshRasterizer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_texture_atlas_8x8_back_MeshRasterizer.png -------------------------------------------------------------------------------- /tests/data/test_texture_atlas_8x8_back_MeshRasterizerOpenGL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_texture_atlas_8x8_back_MeshRasterizerOpenGL.png -------------------------------------------------------------------------------- /tests/data/test_texture_map_back_MeshRasterizer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_texture_map_back_MeshRasterizer.png -------------------------------------------------------------------------------- /tests/data/test_texture_map_back_MeshRasterizerOpenGL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_texture_map_back_MeshRasterizerOpenGL.png -------------------------------------------------------------------------------- /tests/data/test_texture_map_front_MeshRasterizer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_texture_map_front_MeshRasterizer.png -------------------------------------------------------------------------------- /tests/data/test_texture_map_front_MeshRasterizerOpenGL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/data/test_texture_map_front_MeshRasterizerOpenGL.png -------------------------------------------------------------------------------- /tests/implicitron/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /tests/implicitron/data/sql_dataset/sql_dataset_100.sqlite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/implicitron/data/sql_dataset/sql_dataset_100.sqlite -------------------------------------------------------------------------------- /tests/implicitron/models/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /tests/implicitron/test_eval_demo.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | import os 8 | import unittest 9 | 10 | from pytorch3d.implicitron import eval_demo 11 | 12 | from tests.common_testing import interactive_testing_requested 13 | 14 | from .common_resources import CO3D_MANIFOLD_PATH 15 | 16 | """ 17 | This test runs a single sequence eval_demo, useful for debugging datasets. 18 | It only runs interactively. 19 | """ 20 | 21 | 22 | class TestEvalDemo(unittest.TestCase): 23 | def test_a(self): 24 | if not interactive_testing_requested(): 25 | return 26 | 27 | os.environ["CO3D_DATASET_ROOT"] = CO3D_MANIFOLD_PATH 28 | 29 | eval_demo.evaluate_dbir_for_category("donut", single_sequence_id=0) 30 | -------------------------------------------------------------------------------- /tests/pulsar/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /tests/pulsar/reference/examples_TestRenderer_test_cam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/pulsar/reference/examples_TestRenderer_test_cam.png -------------------------------------------------------------------------------- /tests/pulsar/reference/examples_TestRenderer_test_cam_ortho.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/pulsar/reference/examples_TestRenderer_test_cam_ortho.png -------------------------------------------------------------------------------- /tests/pulsar/reference/examples_TestRenderer_test_multiview_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/pulsar/reference/examples_TestRenderer_test_multiview_0.png -------------------------------------------------------------------------------- /tests/pulsar/reference/examples_TestRenderer_test_multiview_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/pulsar/reference/examples_TestRenderer_test_multiview_1.png -------------------------------------------------------------------------------- /tests/pulsar/reference/examples_TestRenderer_test_multiview_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/pulsar/reference/examples_TestRenderer_test_multiview_2.png -------------------------------------------------------------------------------- /tests/pulsar/reference/examples_TestRenderer_test_multiview_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/pulsar/reference/examples_TestRenderer_test_multiview_3.png -------------------------------------------------------------------------------- /tests/pulsar/reference/examples_TestRenderer_test_multiview_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/pulsar/reference/examples_TestRenderer_test_multiview_4.png -------------------------------------------------------------------------------- /tests/pulsar/reference/examples_TestRenderer_test_multiview_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/pulsar/reference/examples_TestRenderer_test_multiview_5.png -------------------------------------------------------------------------------- /tests/pulsar/reference/examples_TestRenderer_test_multiview_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/pulsar/reference/examples_TestRenderer_test_multiview_6.png -------------------------------------------------------------------------------- /tests/pulsar/reference/examples_TestRenderer_test_multiview_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/pulsar/reference/examples_TestRenderer_test_multiview_7.png -------------------------------------------------------------------------------- /tests/pulsar/reference/examples_TestRenderer_test_smallopt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/pulsar/reference/examples_TestRenderer_test_smallopt.png -------------------------------------------------------------------------------- /tests/pulsar/reference/nr0000-in.pth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/pulsar/reference/nr0000-in.pth -------------------------------------------------------------------------------- /tests/pulsar/reference/nr0000-out.pth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/pulsar/reference/nr0000-out.pth -------------------------------------------------------------------------------- /tests/pulsar/test_out/empty.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/pulsar/test_out/empty.txt -------------------------------------------------------------------------------- /tests/test_checkerboard.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | import unittest 8 | 9 | import torch 10 | from pytorch3d.utils import checkerboard 11 | 12 | from .common_testing import TestCaseMixin 13 | 14 | 15 | class TestCheckerboard(TestCaseMixin, unittest.TestCase): 16 | def test_simple(self): 17 | board = checkerboard(5) 18 | verts = board.verts_packed() 19 | expect = torch.tensor([5.0, 5.0, 0]) 20 | self.assertClose(verts.min(dim=0).values, -expect) 21 | self.assertClose(verts.max(dim=0).values, expect) 22 | -------------------------------------------------------------------------------- /tests/test_mesh_rendering_utils.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the BSD-style license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | 7 | 8 | import unittest 9 | 10 | import torch 11 | from pytorch3d.renderer.mesh.utils import _clip_barycentric_coordinates 12 | 13 | 14 | class TestMeshRenderingUtils(unittest.TestCase): 15 | def test_bary_clip(self): 16 | N = 10 17 | bary = torch.randn(size=(N, 3)) 18 | # randomly make some values negative 19 | bary[bary < 0.3] *= -1.0 20 | # randomly make some values be greater than 1 21 | bary[bary > 0.8] *= 2.0 22 | negative_mask = bary < 0.0 23 | positive_mask = bary > 1.0 24 | clipped = _clip_barycentric_coordinates(bary) 25 | self.assertTrue(clipped[negative_mask].sum() == 0) 26 | self.assertTrue(clipped[positive_mask].gt(1.0).sum() == 0) 27 | self.assertTrue(torch.allclose(clipped.sum(dim=-1), torch.ones(N))) 28 | -------------------------------------------------------------------------------- /tests/weights.pt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/tests/weights.pt -------------------------------------------------------------------------------- /website/.dockerignore: -------------------------------------------------------------------------------- 1 | */node_modules 2 | *.log 3 | -------------------------------------------------------------------------------- /website/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | 3 | node_modules 4 | 5 | lib/core/metadata.js 6 | lib/core/MetadataBlog.js 7 | 8 | website/translated_docs 9 | website/build/ 10 | website/yarn.lock 11 | website/node_modules 12 | website/i18n/* 13 | website/_tutorials/* 14 | -------------------------------------------------------------------------------- /website/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "scripts": { 3 | "examples": "docusaurus-examples", 4 | "start": "docusaurus-start", 5 | "build": "docusaurus-build", 6 | "publish-gh-pages": "docusaurus-publish", 7 | "write-translations": "docusaurus-write-translations", 8 | "version": "docusaurus-version", 9 | "rename-version": "docusaurus-rename-version" 10 | }, 11 | "devDependencies": { 12 | "docusaurus": "^1.14.4" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /website/sidebars.json: -------------------------------------------------------------------------------- 1 | { 2 | "docs": { 3 | "Introduction": ["why_pytorch3d"], 4 | "Data": ["io", "meshes_io", "datasets", "batching"], 5 | "Ops": ["cubify", "iou3d"], 6 | "Visualization": ["visualization"], 7 | "Renderer": ["renderer", "renderer_getting_started", "cameras"] 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /website/static/img/colab_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/website/static/img/colab_icon.png -------------------------------------------------------------------------------- /website/static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/website/static/img/favicon.ico -------------------------------------------------------------------------------- /website/static/img/ops.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/website/static/img/ops.png -------------------------------------------------------------------------------- /website/static/img/oss_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/website/static/img/oss_logo.png -------------------------------------------------------------------------------- /website/static/img/pytorch3dfavicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/website/static/img/pytorch3dfavicon.png -------------------------------------------------------------------------------- /website/static/img/pytorch3dicon.svg: -------------------------------------------------------------------------------- 1 | PyTorch3D_Identity_Symbol -------------------------------------------------------------------------------- /website/static/img/pytorch3dlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/website/static/img/pytorch3dlogo.png -------------------------------------------------------------------------------- /website/static/img/rendering.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/pytorch3d/f68371d3988cab39e1730281f97e91b62887b2a6/website/static/img/rendering.png --------------------------------------------------------------------------------