sebastian.vesenmayer Posted September 4, 2020 Posted September 4, 2020 (edited) Hello, I am adding reflection of wet surfaces in our application. We observed some artifacts on clouds, while rendering an environment probe with one face per frame. When switching to 6 faces per frame it looks normal, but it is too heavy in computation. What is your solution for this? There is a video in the attachement. 2020-09-04 08-51-16.mkv We did also observe that the start ray for screen space reflections gets more and more incorrect with increasing distance. It appears like the reflected object is going to vanish towards the horizon. When objects have not much space above the ground they won't appear in the reflection anyway only at close distance. Is there a way to do it more accurate than the standard project? There are two screenshot in the attachment, one far away and one close.You can see the missing plate of the material ball clearly. Software version is 2.11.0.2 Thank you for your help Edited September 4, 2020 by sebastian.vesenmayer
sebastian.vesenmayer Posted September 4, 2020 Author Posted September 4, 2020 worldfilewithmat.zip Here is the world file with the materials.
morbid Posted September 4, 2020 Posted September 4, 2020 Hello Sebastian, The flickering you observe with the environment probe is caused by TAA. I'm afraid, considering the settings (dynamic probe, low resolution and 1 face per time rendering) it's impossible to fix with TAA parameters. Regarding the SSR question. You can increase accuracy with Num Steps parameter. Try values between 8 and 12. Increased accuracy also might help a bit. I must say that SSR show it's best in small scenes. Could you please give me the context? Why have you chose dynamic environment probe? Have you tried low-res planar reflections instead? Thanks. How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
sebastian.vesenmayer Posted September 7, 2020 Author Posted September 7, 2020 Hello morbid, thanks for the answers. On 9/4/2020 at 2:34 PM, morbid said: The flickering you observe with the environment probe is caused by TAA. Ok so TAA does not function properly when rendering 1 face per frame time? Is TAA a global setting or is it possible to deactivate it for the Environment Probe? On 9/4/2020 at 2:34 PM, morbid said: I'm afraid, considering the settings (dynamic probe, low resolution and 1 face per time rendering) it's impossible to fix with TAA parameters. The flickering is also visible with bigger Textures (2048 Pixels). On 9/4/2020 at 2:34 PM, morbid said: You can increase accuracy with Num Steps parameter. Try values between 8 and 12. Increased accuracy also might help a bit. I can move the num steps slider to 64 and still getting the same wrong reflections like in the picture above. Enabling "Increased accuracy" did nothing. If the reflection ray direction or start point is not calculated correctly it will always miss the pixel information it should get. On 9/4/2020 at 2:34 PM, morbid said: Why have you chose dynamic environment probe? Have you tried low-res planar reflections instead? It was recommend in this forum post to render cloud reflections with an environment probe. Planar reflections are going to use more computation time, and we have lots of planar surfaces. So it is no option.
morbid Posted September 10, 2020 Posted September 10, 2020 Sebastian, I consulted with our artists and made some improvements. Please see the attached scene for 2.11. Changes made: Probe set to spherical with limited radius and reduced Far Clipping (still provides reflections far enough) Probe set as a child to the active player Texture size increased to 512, 256 works though SSR step size configured to match the geometry Please share your thoughts on this workaround. reflections.mp4 probe_test.7z How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
sebastian.vesenmayer Posted September 10, 2020 Author Posted September 10, 2020 Hi morbid, The clouds are looking good now. Thanks for that. But the SSR is still missing Geometry, when distance is over 100 units. (Red box in your example) The screenshot has a FOV of 30 degree, what we usually use in our simulations, and reflections should be visible with SSR, it is big enough.
morbid Posted September 11, 2020 Posted September 11, 2020 SSR will always work bad with small objects in distance. I got this as the best result: Step size and number of steps are the main parameters in discussion here. Lesser step size and bigger step number will give better result at a cost of performance. Are you sure planar reflections with, let's say, half resolution aren't possible because of the rendering budget? Dynamic environment probe also not the cheapest object. Thanks. How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
sebastian.vesenmayer Posted September 15, 2020 Author Posted September 15, 2020 (edited) On 9/11/2020 at 3:09 PM, morbid said: SSR will always work bad with small objects in distance. Hello morbid, Can you explain why that should be the case? On 9/11/2020 at 3:09 PM, morbid said: I got this as the best result: I have increased Z Buffer resolution with near and far plane set to 1 and 1000 but no effect. I have narrowed field of view. That should work because objects use more screen space, so screen space reflections should be visible for all objects but no effect. I have reduced step size. Still not working for the first 3 pillars. I have increased number of steps. Still not working for the first 3 pillars and no increasing reflection of the 4th pillar. So my guess as I mentioned: The ray marching starts at the wrong position with increasing camera distance. It does not matter which step size or number of steps you will use, it will start at the yellow line. This looks like a bug for me. On 9/11/2020 at 3:09 PM, morbid said: Are you sure planar reflections with, let's say, half resolution aren't possible because of the rendering budget? Dynamic environment probe also not the cheapest object. We only wanted to use dynamic reflection for the sky and not the scenery. It is only gpu heavy and not cpu, which is ok. We have 50 Planar meshes, which cannot be combined. I guess that means 50 additional render cycles? Is this going to fit in our rendering budget? We are at the 60 fps border at the moment and don't want to drop below. Thanks Edited September 15, 2020 by sebastian.vesenmayer
morbid Posted September 16, 2020 Posted September 16, 2020 We found some suspicious parts in the SSR algorithm, haven't checked everything yet. I'd like to clarify the expected results, please correct if I missed something: Camera FoV is 30 (more or less?) Small object is considered to be 1x1x1 meter (or less?) The desired screen space reflection distance for such object is 100 meters Thanks! How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
sebastian.vesenmayer Posted September 16, 2020 Author Posted September 16, 2020 (edited) My last example had: Camera fov 3 degrees. Objects with 1x1x1, 1x1x2, 1x1x3, 1x1x4 meter. Distance was 300 meters. Player heigth of 50 meters. 15 minutes ago, morbid said: Camera FoV is 30 (more or less?) Small object is considered to be 1x1x1 meter (or less?) The desired screen space reflection distance for such object is 100 meters I checked those values again and SSR has the same effect. When you are moving the cube up from the ground, at some point it will start to reflect. Also with player height of 50 meters. SSR should output almost perfect reflections in any of the listed cases. Thanks Edited September 16, 2020 by sebastian.vesenmayer
sebastian.vesenmayer Posted September 28, 2020 Author Posted September 28, 2020 Hello, do you have any new news on this topic? Thanks
silent Posted September 28, 2020 Posted September 28, 2020 New options to control SSR bias will be added in 2.13, so you will need to tune them for separately for specific cameras. Here is the results: View Bias: 1 / Normal Bias: 0: View Bias: 0 / Normal Bias: 0 Current: How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
sebastian.vesenmayer Posted September 28, 2020 Author Posted September 28, 2020 Thanks for the update. Is this going to be released in 2.13 version only?
silent Posted September 28, 2020 Posted September 28, 2020 You can already try to modify data\core\shaders\screen_space\fragment\ssr.frag: #define view_bias 0.002f #define normal_bias 0.01f How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
sebastian.vesenmayer Posted September 28, 2020 Author Posted September 28, 2020 Thanks will give this a try :)
Recommended Posts