diff options
| author | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2017-06-28 21:52:20 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-06-28 21:52:20 -0700 |
| commit | a613d45de992efd21afc73049d3811d5e337f56b (patch) | |
| tree | a20ef7fe1853e7ed7054e7c076ffa6e55bdc3add /src/video_core/swrasterizer | |
| parent | 19f1216e72533a2da06136d881ab13d16dd78f2b (diff) | |
| parent | 8978ecb09caa91424b7117a91d22e7f54040e701 (diff) | |
Merge pull request #2800 from wwylele/fog-lutlutlut
gl_rasterizer: use texture buffer for fog LUT
Diffstat (limited to 'src/video_core/swrasterizer')
| -rw-r--r-- | src/video_core/swrasterizer/rasterizer.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/video_core/swrasterizer/rasterizer.cpp b/src/video_core/swrasterizer/rasterizer.cpp index cd7b6c39d..512e81c08 100644 --- a/src/video_core/swrasterizer/rasterizer.cpp +++ b/src/video_core/swrasterizer/rasterizer.cpp @@ -584,8 +584,7 @@ static void ProcessTriangleInternal(const Vertex& v0, const Vertex& v1, const Ve float fog_i = MathUtil::Clamp(floorf(fog_index), 0.0f, 127.0f); float fog_f = fog_index - fog_i; const auto& fog_lut_entry = g_state.fog.lut[static_cast<unsigned int>(fog_i)]; - float fog_factor = (fog_lut_entry.value + fog_lut_entry.difference * fog_f) / - 2047.0f; // This is signed fixed point 1.11 + float fog_factor = fog_lut_entry.ToFloat() + fog_lut_entry.DiffToFloat() * fog_f; fog_factor = MathUtil::Clamp(fog_factor, 0.0f, 1.0f); // Blend the fog |
