(
ctx,
v_render_colors: Tensor,
v_render_alphas: Tensor,
v_render_normals: Tensor,
v_render_distort: Tensor,
v_render_median: Tensor,
)
| 1904 | |
| 1905 | @staticmethod |
| 1906 | def backward( |
| 1907 | ctx, |
| 1908 | v_render_colors: Tensor, |
| 1909 | v_render_alphas: Tensor, |
| 1910 | v_render_normals: Tensor, |
| 1911 | v_render_distort: Tensor, |
| 1912 | v_render_median: Tensor, |
| 1913 | ): |
| 1914 | |
| 1915 | ( |
| 1916 | means2d, |
| 1917 | ray_transforms, |
| 1918 | colors, |
| 1919 | opacities, |
| 1920 | normals, |
| 1921 | densify, |
| 1922 | backgrounds, |
| 1923 | masks, |
| 1924 | isect_offsets, |
| 1925 | flatten_ids, |
| 1926 | render_colors, |
| 1927 | render_alphas, |
| 1928 | last_ids, |
| 1929 | median_ids, |
| 1930 | ) = ctx.saved_tensors |
| 1931 | width = ctx.width |
| 1932 | height = ctx.height |
| 1933 | tile_size = ctx.tile_size |
| 1934 | absgrad = ctx.absgrad |
| 1935 | |
| 1936 | ( |
| 1937 | v_means2d_abs, |
| 1938 | v_means2d, |
| 1939 | v_ray_transforms, |
| 1940 | v_colors, |
| 1941 | v_opacities, |
| 1942 | v_normals, |
| 1943 | v_densify, |
| 1944 | ) = _make_lazy_cuda_func("rasterize_to_pixels_bwd_2dgs")( |
| 1945 | means2d, |
| 1946 | ray_transforms, |
| 1947 | colors, |
| 1948 | opacities, |
| 1949 | normals, |
| 1950 | densify, |
| 1951 | backgrounds, |
| 1952 | masks, |
| 1953 | width, |
| 1954 | height, |
| 1955 | tile_size, |
| 1956 | isect_offsets, |
| 1957 | flatten_ids, |
| 1958 | render_colors, |
| 1959 | render_alphas, |
| 1960 | last_ids, |
| 1961 | median_ids, |
| 1962 | v_render_colors.contiguous(), |
| 1963 | v_render_alphas.contiguous(), |
nothing calls this directly
no test coverage detected