@startuml start if (Load from SfM or File?) then (SfM) :Load SfM Data (COLMAP/OpenMVG output); :Extract 3D Points and Camera Poses; if (Optimize Splats?) then (Yes) :Run Gaussian Optimization (NeRF-like); :Calculate Scale, Opacity, and Color; :Save to .splat File; else (No) :Use raw SfM points; endif else (File) :Load Precomputed .splat File; endif :Start Gazebo Plugin; :Load Gaussian Splat Data; :Initialize OpenGL Buffers (VAO, VBO); :Upload Splats to GPU; while (Simulation Running?) is (Yes) if (Camera Position Updated?) then (Yes) :Project Splats to Camera View (Projection Step); :Perform Frustum Culling (Remove Out-of-View Splats); :Apply Adaptive Density Control (LOD Adjustment); endif :Tile Splats using Differentiable Tile Rasterizer; :Render Splats with OpenGL Shader; :Update Simulation in Gazebo; endwhile :Cleanup GPU Buffers; :Exit Plugin; stop @enduml
Decode URL
Submit
amiga
aws-orange
black-knight
bluegray
blueprint
cerulean-outline
cerulean
crt-amber
crt-green
cyborg-outline
cyborg
hacker
lightgray
mars
materia-outline
materia
metal
mimeograph
minty
plain
reddress-darkblue
reddress-darkgreen
reddress-darkorange
reddress-darkred
reddress-lightblue
reddress-lightgreen
reddress-lightorange
reddress-lightred
sandstone
silver
sketchy-outline
sketchy
spacelab
spacelab-white
superhero-outline
superhero
toy
united
vibrant
🎉 Discover the future PlantUML Web Editor! 🚀
PNG
SVG
ASCII Art