Any option to increase the maximum perceived roughness of the new PMREM generator?

I’m using the following code along with the new PMREM generator:

To simply render a mesh with a single diffuse texture, by setting the roughness value to 1

The result is:

Annotazione 2020-01-29 034231

I’m not familiar with the inner workings of PMREM but the computed irradiance felt “shiny” so I tried to increase the sampling theta for the PMREM blur shader by multiplying it by 1.5:

float theta = dTheta * float(dir * i) * 1.5;

Now the end result is a lot similiar to the output I get on eevee on Blender (using the standard shader with only the roughness slider set to the maximum value):


The question is: am I doing anything wrong in the code i shared on pastebin that would cause the perceived irradiance to look “shiny” ?

If not, is there any option I can pass to PMREM to increase the blurriness of the prefiltered map without having to change the base library?

Author: Fantashit

2 thoughts on “Any option to increase the maximum perceived roughness of the new PMREM generator?

  1. Here’s the result of a render from Arnold. Using a Arnold Standard shader, all default settings except roughness = 1, metalness = 0.

    I was unable to re-export the file from Blender, so I used Paint3D and exported an OBJ file. Normals did not make it through this process, so the ones here were calculated in Max, which might be why the folds look rather different in this render.

    As @sciecode pointed out, it’s kind of hard to compare these renders since there is different tonemapping being used. In three.js it’s probably ACESFilmic, no idea in Blender, and in Max tonemapping is called “Exposure control”:


    I set this render to “no exposure control” and saved as a PNG with default gamma.


Comments are closed.