Fix view vector in pbr frag to work in ortho (#2370)

# Objective

Fixes #2369

## Solution

Use the view forward direction for all frags when using ortho view.
This commit is contained in:
Aevyrie 2021-07-01 19:28:44 +00:00
parent afb33234db
commit 46cae5956f

View file

@ -400,7 +400,12 @@ void main() {
emissive.rgb *= texture(sampler2D(StandardMaterial_emissive_texture, StandardMaterial_emissive_texture_sampler), v_Uv).rgb;
# endif
vec3 V = normalize(CameraPos.xyz - v_WorldPosition.xyz);
vec3 V;
if (ViewProj[3][3] != 1.0) { // If the projection is not orthographic
V = normalize(CameraPos.xyz - v_WorldPosition.xyz); // Only valid for a perpective projection
} else {
V = normalize(vec3(-ViewProj[0][2],-ViewProj[1][2],-ViewProj[2][2])); // Ortho view vec
}
// Neubelt and Pettineo 2013, "Crafting a Next-gen Material Pipeline for The Order: 1886"
float NdotV = max(dot(N, V), 1e-4);