Skip to content

Convergence results depend on diffuseRatio factor #58

@f1shel

Description

@f1shel

In DisneyBSDF.glsl:

float diffuseRatio = 0.5 * (1.0 - material.metallic);

The 0.5 here says we will 50% use cosineSampleHemisphere and 50% use use importanceSampleGGX. So, the 0.5 is a factor to determine multiple importance sampling strategy. If everything is right, the converge result should not vary from diffrent choices.

However, if you change diffuseRatio like,

float diffuseRatio = 0.08 * (1.0 - material.metallic);
float diffuseRatio = 0.1 * (1.0 - material.metallic);
float diffuseRatio = 0.5 * (1.0 - material.metallic);
float diffuseRatio = 0.8 * (1.0 - material.metallic);
...

you will get different rendering results (test scene is hyperion.scene, observable difference below the white sphere ).

1
2

Is it a bug?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions