aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorwwylele <wwylele@gmail.com>2017-08-21 12:03:38 +0300
committerwwylele <wwylele@gmail.com>2017-08-22 09:34:44 +0300
commit709d362609da295fcee4474c2dd72cb8b5f4e2f5 (patch)
treeeb511786edb2242912ddb054ff8e0be0e7cc4ea1 /src
parent6813c61423cd01fff5de0ac53fb49f824d1eec37 (diff)
gl_rasterizer/lighting: more accurate CP formula
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_gen.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_gen.cpp b/src/video_core/renderer_opengl/gl_shader_gen.cpp
index ae67aab052..d85f281e51 100644
--- a/src/video_core/renderer_opengl/gl_shader_gen.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_gen.cpp
@@ -594,8 +594,8 @@ static void WriteLighting(std::string& out, const PicaShaderConfig& config) {
// Note: even if the normal vector is modified by normal map, which is not the
// normal of the tangent plane anymore, the half angle vector is still projected
// using the modified normal vector.
- std::string half_angle_proj = "normalize(half_vector) - normal / dot(normal, "
- "normal) * dot(normal, normalize(half_vector))";
+ std::string half_angle_proj =
+ "normalize(half_vector) - normal * dot(normal, normalize(half_vector))";
// Note: the half angle vector projection is confirmed not normalized before the dot
// product. The result is in fact not cos(phi) as the name suggested.
index = "dot(" + half_angle_proj + ", tangent)";