You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The rendering code uses the vertex pulling technique: we have n Gaussians to draw, each corresponding to a quad, that is 2 triangles -> 6 vertices. We create a buffer gaussianData of size n, launch the vertex shader for 6n vertices and have each vertex access gaussianData[vertexIndex // 6]. This is implemented here. Since most computations are shared across all 6 vertices of a Gaussian, much of the computation (such as converting from spherical harmonics to RGB) is unnecessarily repeated 6-fold. A better implementation would be to first launch a compute shader n times, pre-compute all data shared across vertices (such as RGB) and then have the render pipeline access the precomputed values.
The text was updated successfully, but these errors were encountered:
The rendering code uses the vertex pulling technique: we have
n
Gaussians to draw, each corresponding to a quad, that is 2 triangles -> 6 vertices. We create a buffergaussianData
of sizen
, launch the vertex shader for6n
vertices and have each vertex accessgaussianData[vertexIndex // 6]
. This is implemented here. Since most computations are shared across all 6 vertices of a Gaussian, much of the computation (such as converting from spherical harmonics to RGB) is unnecessarily repeated 6-fold. A better implementation would be to first launch a compute shadern
times, pre-compute all data shared across vertices (such as RGB) and then have the render pipeline access the precomputed values.The text was updated successfully, but these errors were encountered: