Closed wngTn closed 2 years ago
Thanks for your interest in our work.
Filling the point buffer is happening in a OpenGL shader using a TransformFeedback, which writes the points into the buffer. Therefore, you have to modify the fill_tile_points.vert
and fill_tile_points.geom
shader programs. Most likely you have to have an additional binding for your colors, that is then copied in the vertex shader, and then forwarded to the geometry shader. The geometry shader then emits the points that are recorded into the buffer using the transform feedback. This is a bit more complicated, but we found that this way determining if a point is inside a tile can be handled by the GPU in parallel and the points are directly produced on the GPU. (But honestly, we didn't really benchmark if producing this on CPU, and then copying it to the buffer is maybe equally fast.)
I try to add an option to view the original color of the point cloud.
Right now, however, I am struggling to find out where exactly the points in
bufPoints_
is getting filled with points. I think I have narrowed it down to the method setPoints, but I'm not quite sure.