01-03-2021, 01:36 PM
(This post was last modified: 01-03-2021, 01:39 PM by josemendez.)
Hi there,
Obi's fluid renderer is quite unconventional. The technique it uses is called screen-space ellipsoid splatting. The closest relative I can think of is a deferred renderer: particle properties (depth, thickness, color) are splatted to a full-screen buffer, and smoothed out. Then normals are extracted from depth, a surface extracted from normals+depth+ thresholded thickness, and a final pass shades it. It all happens in screen-space.
I'm aware of Jason's frustration-fueled advances in providing a surface shader-like abstraction on top of all SRPs (which should have been a core, built-in part of the SRP architecture if you ask me), but I don't think they will help us in any way given that actual surface shaders didn't either. The fluid rendering pipeline unfortunately cannot be expressed as a surface shader.
Now that Obi 6.0 is out and stable, I will start round 2 against HDRP's shading pipeline and see if I can make sense of it all. Can't make any promises though.
Obi's fluid renderer is quite unconventional. The technique it uses is called screen-space ellipsoid splatting. The closest relative I can think of is a deferred renderer: particle properties (depth, thickness, color) are splatted to a full-screen buffer, and smoothed out. Then normals are extracted from depth, a surface extracted from normals+depth+ thresholded thickness, and a final pass shades it. It all happens in screen-space.
I'm aware of Jason's frustration-fueled advances in providing a surface shader-like abstraction on top of all SRPs (which should have been a core, built-in part of the SRP architecture if you ask me), but I don't think they will help us in any way given that actual surface shaders didn't either. The fluid rendering pipeline unfortunately cannot be expressed as a surface shader.
Now that Obi 6.0 is out and stable, I will start round 2 against HDRP's shading pipeline and see if I can make sense of it all. Can't make any promises though.