pytorch3d/renderer/mesh/rasterize_meshes.py (4 lines): - line 21: # TODO make the epsilon user configurable - line 151: # TODO: consider a better way of setting the bin size. - line 203: # TODO: Choose naive vs coarse-to-fine based on mesh size and image size. - line 209: # TODO better heuristics for bin size. pytorch3d/csrc/rasterize_meshes/rasterize_meshes.cu (4 lines): - line 321: // TODO: make sorting an option as only top k is needed, not sorted values. - line 432: // TODO: benchmark parallelizing over faces_verts instead of over pixels. - line 683: // in this bin. TODO abstract out this logic into some data structure - line 715: // TODO: make sorting an option as only top k is needed, not sorted values. pytorch3d/renderer/lighting.py (4 lines): - line 51: # TODO: handle multiple directional lights per batch element. - line 52: # TODO: handle attenuation. - line 114: # TODO: handle multiple directional lights - line 115: # TODO: attenuate based on inverse squared distance to the light source pytorch3d/transforms/transform3d.py (3 lines): - line 366: # TODO: inverse is bad! Solve a linear system instead - line 370: # This doesn't pass unit tests. TODO investigate further - line 528: # TODO: Can we do this all in one go somehow? pytorch3d/csrc/pulsar/include/math.h (3 lines): - line 48: // TODO: put intrinsics here. - line 98: // TODO: benchmark what's faster. - line 126: // TODO: faster pytorch3d/csrc/point_mesh/point_mesh_cuda.cu (2 lines): - line 455: // TODO: Create wrapper function and merge kernel with other array kernel - line 627: // TODO: Create wrapper function and merge kernel with other array kernel pytorch3d/io/mtl_io.py (2 lines): - line 61: # TODO: allow customization of this base color? - line 127: # TODO: should the texture map values be multiplied pytorch3d/csrc/pulsar/include/renderer.draw.device.h (2 lines): - line 76: // TODO: variable reuse? - line 104: make_float3( // TODO: make offset consistent with `get_screen_area`. pytorch3d/renderer/points/rasterize_points.py (2 lines): - line 104: # TODO: consider a better way of setting the bin size. - line 210: # TODO: Add better error handling for when there are more than pytorch3d/ops/sample_farthest_points.py (2 lines): - line 63: # TODO: support providing K as a ratio of the total number of points instead of as an int - line 113: # TODO: support providing K as a ratio of the total number of points instead of as an int pytorch3d/io/obj_io.py (2 lines): - line 745: # TODO: enable material properties to also be saved. - line 751: # TODO (nikhilar) Speed up this function. pytorch3d/csrc/blending/sigmoid_alpha_blend.cu (2 lines): - line 32: // TODO: revisit performance of this kernel with shared memory usage - line 39: // TODO: fix index calculation for non square images. pytorch3d/ops/perspective_n_points.py (1 line): - line 361: # TODO: more stable when initialised with the center and eigenvectors! pytorch3d/structures/meshes.py (1 line): - line 1099: # TODO (nikhilar) remove following 4 lines when torch.unique has support pytorch3d/ops/interp_face_attrs.py (1 line): - line 49: # TODO: Implement a C++ version of this function pytorch3d/ops/points_normals.py (1 line): - line 133: # TODO: replace with tutil.wmean once landed pytorch3d/csrc/rasterize_meshes/rasterize_meshes.h (1 line): - line 120: // TODO: Better type checking. pytorch3d/csrc/rasterize_points/rasterize_points.cu (1 line): - line 267: // in this bin. TODO abstract out this logic into some data structure pytorch3d/renderer/points/rasterizer.py (1 line): - line 98: # TODO: Remove this line when the convention for the z coordinate in pytorch3d/csrc/pulsar/pytorch/util.h (1 line): - line 61: // TODO: check for synchronization. pytorch3d/csrc/rasterize_coarse/bitmask.cuh (1 line): - line 21: // TODO: check if the data is null. pytorch3d/csrc/pulsar/cuda/commands.h (1 line): - line 357: // TODO: rewrite using nested contexts instead of temporary names. pytorch3d/csrc/pulsar/include/camera.h (1 line): - line 73: // TODO: remove once https://github.com/NVlabs/cub/issues/172 is resolved. pytorch3d/loss/mesh_edge_loss.py (1 line): - line 40: # TODO (nikhilar) Find a faster way of computing the weights for each edge pytorch3d/csrc/iou_box3d/iou_box3d_cpu.cpp (1 line): - line 52: // TODO: check if caching these value helps performance. pytorch3d/ops/sample_points_from_meshes.py (1 line): - line 90: # TODO (gkioxari) Confirm multinomial bug is not present with real data. pytorch3d/csrc/utils/vec2.h (1 line): - line 14: // TODO: switch to Eigen if more functionality is needed. pytorch3d/csrc/utils/vec3.h (1 line): - line 13: // TODO: switch to Eigen if more functionality is needed. pytorch3d/csrc/sample_farthest_points/sample_farthest_points.cu (1 line): - line 189: // TODO: using shared memory for min_point_dist gives an ~2x speed up pytorch3d/csrc/pulsar/include/renderer.get_screen_area.device.h (1 line): - line 54: // TODO: optimize. pytorch3d/renderer/mesh/rasterizer.py (1 line): - line 143: # TODO: Revisit whether or not to transform z coordinate to [-1, 1] or pytorch3d/csrc/pulsar/include/renderer.calc_gradients.device.h (1 line): - line 130: // TODO: make more efficient. pytorch3d/csrc/iou_box3d/iou_box3d.cu (1 line): - line 62: // TODO: determine if the value of MAX_TRIS is sufficient or pytorch3d/csrc/rasterize_points/rasterization_utils.cuh (1 line): - line 48: // TODO: is 8 enough? Would increasing have performance considerations? pytorch3d/csrc/pulsar/include/commands.h (1 line): - line 22: // TODO: find out which compiler we're using here and use the suppression. pytorch3d/renderer/mesh/textures.py (1 line): - line 490: TODO: Add a different sampling mode which interpolates the barycentric pytorch3d/csrc/interp_face_attrs/interp_face_attrs.cu (1 line): - line 154: // TODO: Add support for double once we fix atomicAdd pytorch3d/csrc/rasterize_coarse/rasterize_coarse.cu (1 line): - line 66: // TODO: change to kEpsilon to match triangles? pytorch3d/renderer/blending.py (1 line): - line 210: # TODO: there may still be some instability in the exponent calculation. pytorch3d/datasets/utils.py (1 line): - line 19: TODO: Add support for textures. pytorch3d/renderer/cameras.py (1 line): - line 1536: # TODO: also support the case where RT is specified as one matrix pytorch3d/datasets/r2n2/utils.py (1 line): - line 47: TODO: Add support for textures.