(params, w2c, transformed_pts)
| 79 | ].reshape(batch_dim + (4,)) |
| 80 | |
| 81 | def transformed_params2rendervar(params, w2c, transformed_pts): |
| 82 | depth = get_depth_and_silhouette(transformed_pts, w2c) |
| 83 | precomp = torch.cat((params['rgb_colors'], depth), dim=1) |
| 84 | rendervar = { |
| 85 | 'means3D': transformed_pts, |
| 86 | 'colors_precomp': precomp, |
| 87 | 'sh_sems': params['sem_labels'], |
| 88 | 'rotations': F.normalize(params['unnorm_rotations']), |
| 89 | 'opacities': torch.sigmoid(params['logit_opacities']), |
| 90 | 'scales': torch.exp(torch.tile(params['log_scales'], (1, 3))), |
| 91 | 'means2D': torch.zeros_like(params['means3D'], requires_grad=True, device="cuda") + 0 |
| 92 | } |
| 93 | return rendervar |
| 94 | |
| 95 | def get_depth_and_silhouette(pts_3D, w2c): |
| 96 | """ |
no test coverage detected