diff options
| author | wwylele <wwylele@gmail.com> | 2017-08-21 12:03:38 +0300 |
|---|---|---|
| committer | wwylele <wwylele@gmail.com> | 2017-08-22 09:34:44 +0300 |
| commit | 709d362609da295fcee4474c2dd72cb8b5f4e2f5 (patch) | |
| tree | eb511786edb2242912ddb054ff8e0be0e7cc4ea1 /src | |
| parent | 6813c61423cd01fff5de0ac53fb49f824d1eec37 (diff) | |
gl_rasterizer/lighting: more accurate CP formula
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_shader_gen.cpp | 4 |
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)"; |
