Enable Antialiasing for additional objects supplied with threeScene #396
Replies: 2 comments 1 reply
-
For a simple solution, do you have antialias set to true on the renderer? If you need more than that, you can get crafty with render passes to selective apply post-processing effects. Digging into the code behind the selective bloom example would be a starting point to build your own selective MSAA. I can't speak to how that interacts with the 3DGS viewer so my apologies if that's what you've already been fighting with! |
Beta Was this translation helpful? Give feedback.
-
I've read at several places, often comments by Mark himself, that the splats are basically transparent, and that they don't render to the depth buffer (please correct me, if this statement is wrong). What I currently don't understand is, how it is possible, that the splats still integrate perfectly with other opaque objects suplied via the threeScene to the viewer. At some point during rendering I guess a decision must be made if the pixel from the splats is visible or if in fact the pixel of the opaque object is in front. How is this decision made? What is the difference to a more regular depth compositing involving a depth buffer? If this decision can be made somehow, could it not also be used to write to depth? (of course maybe, scale would be off...but this could be fixed i guess) I know, it is all in the code, which I can analyize to get a better understanding. But I truly lack mathematical foundation (i.e. years of training) to understand everything about gaussian splats completely, therefore I try to treat certain aspects as a black box for now. The reason I'm asking this question is, that during my many tries to get selective antialiasing to work, I started to believe that the way the splats handle the depth might be the issue here for me not being able to use standard approaches to this problem. As I'm new to this, please forgive my naive question. But maybe you can point me in the right direction to understand the compositing aspect of the splats better. Again, I'm thankfull for everything! |
Beta Was this translation helpful? Give feedback.
-
Hello everyone,
unfortunately I'm new to most of this: Three.js, Javascript and also Gaussian Splatting.
I have some small objects that cover a fraction of the entire splat scene. I've made a test enabling MSAA for the entire scene, unfortunatelly this is too slow. Therefore I'm searching for ways to only enable Antialiasing for just the objects I'm passing to the viewer with the threeScene option.
Apparently in the render loop of the viewer:
-first the threeScene gets rendered,
-and then the splatScene is rendered on top.
Depth compositing works flawlessly in this case.
According to my understanding I need to use some kind of renderBuffer for MSAA antialiasing or a renderTarget for FXAA antialiasing.
I fought with both approaches but failed so far. Depth compositing just never works as soon as I need to split up rendering into buffers/targets.
MSAA antialiasing would be prefered, because of quality.
Any hints that would steer me in the right direction would be very welcome. Thank you!
Beta Was this translation helpful? Give feedback.
All reactions