GPUOpen-LibrariesAndSDKs / RadeonProRenderBlenderAddon

This hardware-agnostic rendering plug-in for Blender uses accurate ray-tracing technology to produce images and animations of your scenes, and provides real-time interactive rendering and continuous adjustment of effects.
https://gpuopen.com/radeon-prorender-suite/
Apache License 2.0
490 stars 58 forks source link

Subsurface scattering controls are not operational #307

Open iaian7 opened 3 years ago

iaian7 commented 3 years ago

Issue

The subsurface settings in the RPR Uber node do not work when rendering in "full" quality mode.

Blender 2.93.1 with the Radeon ProRender 3.1.25 plugin

Radius and direction settings are both non-responsive, and it seems that the subsurface feature is locked to a look that roughly matches diffuse backscattering set to 1.0.

Subsurface-293-3125

Blender 2.93.1 with the Radeon ProRender 3.1.16 plugin

Direction setting is non-responsive, but radius appears to be working.

Subsurface-293-3116

Blender 2.83.16 with the Radeon ProRender 2.5.1 plugin

I've confirmed the two newer versions of the plugin listed above, when set to "Legacy" render quality, matches the older plugin rendered output (the RPR Uber node issue doesn't appear to affect legacy mode).

Subsurface-283-251

Blender 2.93.1 with Cycles

Of particular note, regarding the Radeon ProRender engine in general not the Blender plugin I presume, is that the subsurface settings in Cycles are significantly more usable from an artist perspective. Every single example posted here uses the same hue, saturation, and brightness as inputs, but Radeon ProRender introduces significant shifts in colour and luminosity. I imagine the RPR method is technically more accurate (calculating sub-surface bounces as recursively filtered, and allowing subsurface to absorb instead of bounce diffuse lighting, darkening things significantly), but it makes it a lot more difficult to use in a motion graphics situation (and more photoreal situations too, unfortunately).

I will say the backscattering (translucency) setup in Cycles is a little silly; I much prefer the RPR Uber shader system in that regard!

Subsurface-293-Cycles

Steps to Reproduce

Scene files

BlenderFiles.zip

System Setup (Environment)

macOS Big Sur version 11.4 2.4 GHz 8-Core Intel Core i9 64 GB DDR4 RAM AMD Radeon Pro 5600M 8 GB Razer Core X eGPU with AMD Radeon RX 5700 XT Blender 2.83.16 and Blender 2.93.1 Using mostly default settings in RPR (render quality set to full in the 3.x plugins) Rendering on the eGPU

Detailed Description

The primary concern is that the RPR Uber node settings simply do not work in the latest build. Previous versions (3.1.16 specifically) were only partially operational, so it seems this is an actively devolving issue.

iaian7 commented 3 years ago

No change in 3.2.2; it renders identically to 3.1.25. Radius and Direction settings are inoperable.

ARozghon commented 3 years ago

Hi, @iaian7, thank you for your request. For now, SSS Radius has the most visual effect with values from 0 to 1, like on screenshot 1 image also, if set values for SSS like on screenshot2 image RPR will show good results too in RPR 3.2.2 used the same core as RPR 3.1.25 have, that's why you get the equal results and one of the future core will improve volumes and SSS quality Thank you

iaian7 commented 3 years ago

Thank you @ARozghon. The example I originally posted demonstrated settings of 0.1 and 1.0 (my mistake adding the "m" in the labels, they're 1.0 and 0.1 in the radius settings), the range you describe as being most effective, but there is no visual difference between them. I've tried 0.01 and 0.001 settings as well, and there is no visual change. Sub-surface scattering renders identically, regardless of settings, to the diffuse backscatter setting.

iaian7 commented 3 years ago

Render from Blender 2.93.1 with Radeon ProRender for Blender 3.2.2. No matter what settings are used, subsurface output never changes, and is identical to backscatter.

Subsurface-293-322

Subsurface-293-322.blend.zip

bsavery commented 3 years ago

possibly fixed with #309

ARozghon commented 3 years ago

image results with implemented #309

ARozghon commented 3 years ago

@iaian7, please, check your issue with the latest build with implemented #309 and more https://github.com/GPUOpen-LibrariesAndSDKs/RadeonProRenderBlenderAddon/releases/tag/v3.2.12

iaian7 commented 3 years ago

Interesting results:

Subsurface-293-3212-CPU

Subsurface-293-3212-GPU

Subsurface-293-3212-eGPU

Subsurface-293-3212-CPU-eGPU-GPU

All of this was tested using my 2020 MacBook Pro (listed in the original report at the top) running a "fresh" install of Blender 2.92.1 (I cleared the application support folder and regenerated from scratch, only RPR and auto-save render plugins were installed, and render times are from secondary renders after the initial renders completed code compiling).

ARozghon commented 3 years ago

Hi, as I know, new features for SSS have not been implemented for macOS, now SSS Radius and Volumes are supported on Windows and Ubuntu