Relightable3DGaussian
Relightable3DGaussian copied to clipboard
A question regarding visibility from the bvh raytracer
trace_results = raytracer.trace_visibility(
rays_o,
rays_d,
means3D,
cov_inv,
opacity,
normal)
visibility = trace_results['visibility']
say, N: number of gaussians, S: number of sampled rays From my understanding,
- rays_o is [N, 3], which are the origins of each ray, i.e. each of the N Gaussian centers.
- rays_d is [N, S, 3], which is essentially the direction of each of S rays that was fired from each of the N Gaussians.
The output visbility is [N, S, 1] with all binary values. Q1. Is this telling us whether any Gaussian was hit for each of the fired ray? Q2. If Q1 is true, then I would understand the visibility that we have as output above is the Gaussian-to-ray visibility. Any idea/hints on how to get the Gaussian-to-Gaussian visibility? basically a NxN matrix, which tells that, for any Gaussian point in the scene, which of the remainder N-1 points are "visible" idea would be to culminate the hit result from all the sampled S rays for an individual point to get the equivalent row in the NxN matrix.