浏览代码

Merge pull request #94281 from mertkasar/3.x-ssr-orthogonal-warp-fix

[3.x] Fix SSR warp when using orthogonal camera
lawnjelly 1 年之前
父节点
当前提交
ff77fe81d1
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      drivers/gles3/shaders/screen_space_reflection.glsl

+ 4 - 0
drivers/gles3/shaders/screen_space_reflection.glsl

@@ -67,7 +67,11 @@ void main() {
 	vec4 world_pos = inverse_projection * vec4(uv_interp * 2.0 - 1.0, depth_tex * 2.0 - 1.0, 1.0);
 	vec4 world_pos = inverse_projection * vec4(uv_interp * 2.0 - 1.0, depth_tex * 2.0 - 1.0, 1.0);
 	vec3 vertex = world_pos.xyz / world_pos.w;
 	vec3 vertex = world_pos.xyz / world_pos.w;
 
 
+#ifdef USE_ORTHOGONAL_PROJECTION
+	vec3 view_dir = vec3(0.0, 0.0, -1.0);
+#else
 	vec3 view_dir = normalize(vertex);
 	vec3 view_dir = normalize(vertex);
+#endif
 	vec3 ray_dir = normalize(reflect(view_dir, normal));
 	vec3 ray_dir = normalize(reflect(view_dir, normal));
 
 
 	if (dot(ray_dir, normal) < 0.001) {
 	if (dot(ray_dir, normal) < 0.001) {