Wow that looks great! :D
Thanks for showing me how to get the the white tint on a transparent renderer, but with the filtering and proper biasing shadows suddenly start looking so good that I don't really want to go back.
I suppose it's not possible to have the fluid shader selectively render particles with the alpha value from their particle renderer / emitter instead of rendering everything with the value from the fluid renderer, otherwise you would have probably implemented it that way. That would be a feature on the very top of my wishlist for a future update, right after single-pass support.
I'm curious, why were filtering and biasing not a thing already if you managed to get it implemented so quickly with only a few lines of code in the shader? To me this makes the difference between shadows degrading visual quality and significantly improving it. With enough filtering you can even get rid of the dithering issue! Just compare this to the video from the first post: https://youtu.be/0FGKEP8GSBk
I really think you should consider adding shadow configuration to the fluid renderer in a future update. I already added it to mine, I attached a package with all the modified scripts and the shader in case you're interested. I had to change the file extension to zip to get it uploaded, it's actually a unitypackage though so you'll have to change the extension back.
I also added the option to disable shadows but keep the surface lighting, and a radius and quality property for the filtering. The quality value just adds some space between sample points for a use case where you need a large shadow radius but can't afford to lose any GPU time. It's not great and creates banding, but I couldn't come up with anything more sophisticated that doesn't require iterating through all possible sample points and performing some kind of condition check or modulus calculation. I guess it beats not having any cheap soft shadows option, but I'm sure you could come up with something much better :)
Thanks for showing me how to get the the white tint on a transparent renderer, but with the filtering and proper biasing shadows suddenly start looking so good that I don't really want to go back.
I suppose it's not possible to have the fluid shader selectively render particles with the alpha value from their particle renderer / emitter instead of rendering everything with the value from the fluid renderer, otherwise you would have probably implemented it that way. That would be a feature on the very top of my wishlist for a future update, right after single-pass support.
I'm curious, why were filtering and biasing not a thing already if you managed to get it implemented so quickly with only a few lines of code in the shader? To me this makes the difference between shadows degrading visual quality and significantly improving it. With enough filtering you can even get rid of the dithering issue! Just compare this to the video from the first post: https://youtu.be/0FGKEP8GSBk
I really think you should consider adding shadow configuration to the fluid renderer in a future update. I already added it to mine, I attached a package with all the modified scripts and the shader in case you're interested. I had to change the file extension to zip to get it uploaded, it's actually a unitypackage though so you'll have to change the extension back.
I also added the option to disable shadows but keep the surface lighting, and a radius and quality property for the filtering. The quality value just adds some space between sample points for a use case where you need a large shadow radius but can't afford to lose any GPU time. It's not great and creates banding, but I couldn't come up with anything more sophisticated that doesn't require iterating through all possible sample points and performing some kind of condition check or modulus calculation. I guess it beats not having any cheap soft shadows option, but I'm sure you could come up with something much better :)