-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
[Feature Request] Line-Sweep SSAO #4939
Comments
It looks pretty neat but might require not be as simple to integrate. I ll check with @deltakosh after his vacations how we could try to plan it. |
I am moving the evaluation to the roadpMap and closing the issue as long as it is not fully validated for the integration: https://github.com/BabylonJS/Babylon.js/projects/8 |
Thanks! |
@ville FYI (the author) |
Thanks, really good to know. |
Hi all! BR, |
@wilicc w000t it looks like we would need to rely on tesselation and hull shader (from your reply, I did not find time to go through the pdf so far) which are not available on Webgl. Could you confirm that it is the case ? as if it is we would probably stop there due to the lack of support of those in both Webgl and Webgl2. We might still find other tricks to do it but I am not sure it would then be worth the investigation. |
@sebavan No no, the "convex hull" is a different concept in LSAO :-) Nothing to do with the tessellation/hull pipeline stages. You need compute shader support though, that is mandatory. |
Thanks for your rapid answer :-) Compute Shader are still not existing in Webgl, the best we can do would be to render to texture and then sample from it or rely on transform feedback. @wilicc do you think this could be efficient enough with your use case ? (I am totally not sure without having a deeper look in the pdf) |
Unfortunately that will kill the performance. My honest suggestion is to put this algorithm on the back-burner and come back to it once you have compute shaders :-) |
Ok, thanks a lot !!! this will save us a lot of time ;-) and we ll definitely come back to it as soon as we ll have compute shaders. |
Feature Request
Line-Sweep Ambient Obscurance is relatively recent(2013) SSAO algorithm. Instead of sampling for each pixel, it sweeps lines in multiple directions and combines later so it's very GPU-pipeline friendly, leading to multiple factor performance boost. Here is the benchmark table from their slide:
I think it will be great to have it in BabylonJS.
Disclaimer: I haven't tried myself and I'm not aware of potential pitfalls of this technique. Though the paper won the best student paper award at EGSR-2013 and they have a reference implementation at the webpage so seems credible though.
The text was updated successfully, but these errors were encountered: