-
Notifications
You must be signed in to change notification settings - Fork 112
Transition Shader Example #69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I love it. Thanks so much for taking the time to open a PR. |
|
@winnie1994 have some bandwidth to finish it up for next week? |
7067472 to
0c808d8
Compare
68236bf to
f663a47
Compare
yeah thanks for your patience! Should be ready for review pending final assets : D |
|
@winnie1994 This is a very nice transition effect. I've used other Gaussian libraries before, such as Luma and Real3D, and I was particularly impressed by their LightRadius transition effect between Gaussian splats and point clouds. If I may ask — would it be possible for our library to support a similar Gaussian-to-point-cloud transition with an aperture-style effect?There is some open-source code available — |
I’ve noticed a similar point-cloud-to-Gaussian transition effect in an After Effects plugin (Gaussian Splatting) and wanted to experiment with achieving this in Spark as well. Currently, it’s possible to approximate a point-cloud look by setting sparkRenderer.maxPixelRadius = 1.0. However, I haven’t found a way to dynamically adjust sparkRenderer.maxPixelRadius within the dyno rendering pipeline based on values like Gsplat.center.y. This makes it difficult to create a smooth Gaussian-to-point-cloud transition effect. |
|
Hi @vv4dvv and @mcu13321 Spark can definitely do what you're describing! The right way to do it is to use the Dyno system: https://sparkjs.dev/docs/dyno-overview/ Specifically, for what you're trying to achieve, I would take your SplatMesh in Spark and assign a Next, you have to create spark/examples/glsl/index.html Line 80 in b454b36
You can see how the time variable I hope that helps! It should be really easy to do what you want in Spark with very little code. It might be tricky the first time you do it to get everything right, but feel free to also join our Discord and ask for help there! |
|
Thank you for your reply! I found an example shared by @gradeeterna in the Discord community (https://spark-reveal.gradeeterna.com/), where they implemented an reveal effect. After studying their example and combining it with the approach you suggested, I was able to achieve the effect. Really appreciate the help from both of you! 20250806-114012.mp4 |
Amazing, I'm glad you were able to get it working so quickly!! |
Awesome. Would you like to contribute the effect to the example collection? https://github.com/sparkjsdev/spark/blob/main/examples/splat-reveal-effects/index.html |
Yeah, sure! However, this effect was made possible based on the shader code from @gradeeterna’s example (https://spark-reveal.gradeeterna.com/). I studied their code and made some modifications, so I think we should first get @gradeeterna’s consent before contributing it to the example collection. |
|
@mcu13321 yeah. we’ll definitely credit in code, release notes. If you can open a PR to move things along @gradeeterna what do you think? |
Functional but has a ton of hardcoded values that can be cleaned up / exposed via lil-gui!