Initial upload: BPN deblur pipeline code (scripts, triangle-splatting, BAGS, EVSSM forks)
c75b162 verified | /* | |
| * The original code is under the following copyright: | |
| * Copyright (C) 2023, Inria | |
| * GRAPHDECO research group, https://team.inria.fr/graphdeco | |
| * All rights reserved. | |
| * | |
| * This software is free for non-commercial, research and evaluation use | |
| * under the terms of the LICENSE_GS.md file. | |
| * | |
| * For inquiries contact george.drettakis@inria.fr | |
| * | |
| * The modifications of the code are under the following copyright: | |
| * Copyright (C) 2024, University of Liege, KAUST and University of Oxford | |
| * TELIM research group, http://www.telecom.ulg.ac.be/ | |
| * IVUL research group, https://ivul.kaust.edu.sa/ | |
| * VGG research group, https://www.robots.ox.ac.uk/~vgg/ | |
| * All rights reserved. | |
| * The modifications are under the LICENSE.md file. | |
| * | |
| * For inquiries contact jan.held@uliege.be | |
| */ | |
| namespace FORWARD | |
| { | |
| // Perform initial steps for each Triangle prior to rasterization. | |
| void preprocess(int P, int D, int M, | |
| const float* triangles_points, | |
| const float* sigma, | |
| const int* num_points_per_triangle, | |
| const int* cumsum_of_points_per_triangle, | |
| const float* opacities, | |
| float* scaling, | |
| float* density_factor, | |
| const float* shs, | |
| bool* clamped, | |
| const float* colors_precomp, | |
| const float* viewmatrix, | |
| const float* projmatrix, | |
| const glm::vec3* cam_pos, | |
| const int W, int H, | |
| const float focal_x, float focal_y, | |
| const float tan_fovx, float tan_fovy, | |
| int* radii, | |
| float2* normals, | |
| float* offsets, | |
| float* p_w, | |
| float2* p_image, | |
| int* indices, | |
| float2* points_xy_image, | |
| float* depths, | |
| float* colors, | |
| float4* conic_opacity, | |
| float* cov3Ds, | |
| float2* phi_center, | |
| uint2* rect_min, | |
| uint2* rect_max, | |
| const dim3 grid, | |
| uint32_t* tiles_touched, | |
| bool prefiltered); | |
| // Main rasterization method. | |
| void render( | |
| const dim3 grid, dim3 block, | |
| const uint2* ranges, | |
| const uint32_t* point_list, | |
| int W, int H, | |
| const float2* normals, | |
| const float* offsets, | |
| const float2* points_xy_image, | |
| const float* sigma, | |
| const int* num_points_per_triangle, | |
| const int* cumsum_of_points_per_triangle, | |
| const float* features, | |
| const float4* conic_opacity, | |
| const float* depths, | |
| const float2* phi_center, | |
| float* final_T, | |
| uint32_t* n_contrib, | |
| const float* bg_color, | |
| float* out_color, | |
| float* out_others, | |
| float* max_blending); | |
| } | |