• Nikhila Ravi's avatar
    Support for moving the renderer to a new device · 956d3a01
    Nikhila Ravi authored
    Summary:
    Support for moving all the tensors of the renderer to another device by calling `renderer.to(new_device)`
    
    Currently the `MeshRenderer`, `MeshRasterizer` and `SoftPhongShader` (and other shaders) are all of type `nn.Module` which already supports easily moving tensors of submodules (defined as class attributes) to a different device. However the class attributes of the rasterizer and shader (e.g. cameras, lights, materials), are of type `TensorProperties`, not nn.Module so we need to explicity create a `to` method to move these tensors to device. Note that the `TensorProperties` class already has a `to` method so we only need to call `cameras.to(device)` and don't need to worry about the internal tensors.
    
    The other option is of course making these other classes (cameras, lights etc) also of type nn.Module.
    
    Reviewed By: gkioxari
    
    Differential Revision: D23885107
    
    fbshipit-source-id: d71565c442181f739de4d797076ed5d00fb67f8e
    956d3a01
test_render_meshes.py 43.8 KB