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
Add the ability to stream real-time LIDAR, e.g., millions of points per second over web sockets, refreshed many times a second, each update is a "frame."
Each frame completely replaces the previous frame and may have a different number of points. Each point may have attributes beyond XYZ/RGB.
Near-term ideas
Performance
Format
What is the right over the wire format? 3D Tiles' pnts?
Is quantization or other local coordinate storage needed?
Decouple per-point attributes with a small number of unique values into a LUT?
What is the right entry point into Cesium? Probably not PointPrimitiveCollection? Perhaps modify PointCloud3DTileContent and friends? Introduce a new lower-level point renderer that both PointCloud3DTileContent and StreamingPointCloud (or whatever) delegate to? Or just make StreamingPointCloud custom?
Avoid creating new WebGL buffers on each frame, and other nonsense like creating new render states, etc. Just keep the buffer as big as needed and write into it. Perhaps garbage collect over time if we end up with some outlier frames, e.g., 10 million points compared to a typical 100,000.
Evaluate ping-ponging two buffers to avoid stalls / double buffering in the WebGL implementation where the previous draw call using the buffer didn't execute yet so the buffer can't be written to.
Are any WebGL 2 features useful, e.g., new vertex attribute formats?
Are web workers useful for anything, e.g., Draco decompress or other payload unpacking?
Styling
Ability to use 3D Tiles declarative styling, ideally without having to recompile the shader
Draw multiple frames and fade out the older ones
Longer-term ideas (or near-term if they are needed)
Prefetch when possible
The text was updated successfully, but these errors were encountered:
Add the ability to stream real-time LIDAR, e.g., millions of points per second over web sockets, refreshed many times a second, each update is a "frame."
Each frame completely replaces the previous frame and may have a different number of points. Each point may have attributes beyond XYZ/RGB.
Near-term ideas
pnts
?PointPrimitiveCollection
? Perhaps modifyPointCloud3DTileContent
and friends? Introduce a new lower-level point renderer that bothPointCloud3DTileContent
andStreamingPointCloud
(or whatever) delegate to? Or just makeStreamingPointCloud
custom?Longer-term ideas (or near-term if they are needed)
The text was updated successfully, but these errors were encountered: