fatPeter / mini-splatting

70 stars 4 forks source link

3DGS visualization #2

Open MITNKU opened 3 months ago

MITNKU commented 3 months ago

image Excellent work, I would like to ask how to project 3DGS point clouds onto the corresponding rendered image? What reference materials are there to learn from?

fatPeter commented 3 months ago

Thank you for your interests. It is perspective projection. Please check out diff-gaussian-rasterization/cuda_rasterizer/forward.cu line 196 to 200: // Transform point by projecting float3 p_orig = { orig_points[3 idx], orig_points[3 idx + 1], orig_points[3 idx + 2] }; float4 p_hom = transformPoint4x4(p_orig, projmatrix); float p_w = 1.0f / (p_hom.w + 0.0000001f); float3 p_proj = { p_hom.x p_w, p_hom.y p_w, p_hom.z p_w }; and line 233: float2 point_image = { ndc2Pix(p_proj.x, W), ndc2Pix(p_proj.y, H) };