BDRF.USF models like cheaper Blinn-Phong with stable textures. What is the functionality of the rest?

Before anyone mentions some of the older threads, this one is a dead end.

This link :How to modify BRDF.ush file to switch to phong shading model? (instead of Unreal's GGX default) has a solution similar to what I’m looking for but it causes texture issue and I’m not seeing a reduction in power usage which is generally big difference in GGX and Blinn-Phong.

Lumen and all the other stuff like RT effects work just as fine.

Engine/Shaders/Private/BRDF.ush

OG code:

// GGX / Trowbridge-Reitz
// [Walter et al. 2007, "Microfacet models for refraction through rough surfaces"]
float D_GGX( float a2, float NoH )
{
	float d = ( NoH * a2 - NoH ) * NoH + 1;	// 2 mad
	return a2 / ( PI*d*d );					// 4 mul, 1 rcp
}

Changed to Blinn-Phong function:

// Micro optimization for function below
#define INV_TWO_PI 0.15915494309189535  // 1 / (2 * PI)

// GGX / Trowbridge-Reitz
// [Walter et al. 2007, "Microfacet models for refraction through rough surfaces"]
float D_GGX(float a2, float NoH)
{
    float n = 2.0 / a2 - 2.0;
    return (n + 2.0) * INV_TWO_PI * ClampedPow(NoH, n);
}

It definitely replaces GGX with Blinn-Phong but here are the texture issues I’m running into:
Video Link

All texture exhibit this square loading pattern.
I need that fixed so any ideas?

Also the BDRF.USF has a lot of models like Cook Torrance but still trying to understand if they can be used without recompiling source code or are they just there for compatible reference(current workflow)?

The best thing would to have hybrid BDRFs per material(save performance where can be applied) but not sure if that’s possible?

2 things here. do whatever to the shaders.

the loading pattern is the virtual texture system streaming in higher res tiles. not a shader issue.

1 Like

But it only happens when I change the GGX function?

Bump.

Why is the does changing the BDRF function break VT maps?