Open raynehe opened 6 months ago
Hello, thanks for the wonderful work!
Sorry to bother, I'm trying to use bvh ray tracing to calculate the shadow effect, and I'm a little confused about the
trace_visibility
function here. I have two questions:Question 1
In the code the ray direction are randomly sampled, what's the reason for this:
rays_d = torch.randn_like(rays_o)
Question 2
My goal is to compute the visibility of all gaussian points under a point light (in order to calculate the shadow effect).
def trace_visibility(self, rays_o, rays_d, means3D, symm_inv, opacity, normals):
When I set:
rays_o
as the position of the point lightmeans3D
as gaussian positionsrays_d
asmeans3D-rays_o
And add these lines in the trace_bvh_opacity_cuda function (which means the light reaches the targeted gaussians):
if (object_id2==idx){ rendered_opacity[idx] = ray_opacity*opacities[object_id2]; return; }
I always get an all-zero visibility. I'm wondering if I set the parameters wrong. Could you give me a hint it?
Sorry for the bother again! I'm looking forward to your reply!
Same results with yours, I also get an all-zero visibility map with ray-tracing. Have you found some solutions?
Hello, thanks for the wonderful work!
Sorry to bother, I'm trying to use bvh ray tracing to calculate the shadow effect, and I'm a little confused about the
trace_visibility
function here. I have two questions:Question 1
In the code the ray direction are randomly sampled, what's the reason for this:
Question 2
My goal is to compute the visibility of all gaussian points under a point light (in order to calculate the shadow effect).
When I set:
rays_o
as the position of the point lightmeans3D
as gaussian positionsrays_d
asmeans3D-rays_o
And add these lines in the trace_bvh_opacity_cuda function (which means the light reaches the targeted gaussians):
I always get an all-zero visibility. I'm wondering if I set the parameters wrong. Could you give me a hint it?
Sorry for the bother again! I'm looking forward to your reply!