3dstreet icon indicating copy to clipboard operation
3dstreet copied to clipboard

(soccer) add gaussian splat to scene

Open kfarr opened this issue 1 year ago β€’ 0 comments

Users wish to place a custom 3d scanned guassian splat in a 3DStreet scene.

What is blocking?

  • 3DStreet uses log depth buffer = true to prevent flickering (z-fighting) on street lane striping, street stencils, distant 3dtiles, and other 3d models
  • However, our gaussian splat viewing library does not yet work with logarithmic depth buffer

Issue: https://github.com/3DStreet/aframe-gaussian-splatting/issues/2

What have I tried?

  • We now can render a splat when using log depth buffer - yay. There is a PR here: https://github.com/3DStreet/aframe-gaussian-splatting/pull/4
  • But, even though the splat displays, it shows up in front of all other objects -- depth sorting of some sort is not happening
  • There is a test scene here on glitch showing the error: https://glitch.com/edit/#!/maps-splats-logdepthbuffer
  • (Desired behavior here with logdepthbuffer = false: https://glitch.com/edit/#!/maps-splats-geometry )
  • I have tried on my own and with claude / cursor for many hours and cannot get a working version of logdepthbuffer and proper sorting

What else can we try?

  • Ask for help from @manthrax (three.js Slack), @arthurmougin (who helped with splats before), or @vincentfretin ?
  • Disable logdepthbuffer for a specific url such as 3dstreet.app/splats/ --> instruct user to use that URL. Downside is that street geometry and 3dtiles may have z-fighting, multiple URLs are complicated to handle, etc.
  • Try a different library? Use the "drop-in" mode of this three.js library and make a new a-frame component wrapper?

kfarr avatar Sep 10 '24 21:09 kfarr