summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Subv2017-06-13 12:53:50 -0500
committerGravatar wwylele2017-07-11 19:39:15 +0300
commit37ac2b6657002e19d78cbc97841f8d3eee6ac5b8 (patch)
tree4ca5acd78e7dd9fe8c61703cba62a0032752f06f /src
parentSwRasterizer: Fixed a few conversion warnings and moved per-light values into... (diff)
downloadyuzu-37ac2b6657002e19d78cbc97841f8d3eee6ac5b8.tar.gz
yuzu-37ac2b6657002e19d78cbc97841f8d3eee6ac5b8.tar.xz
yuzu-37ac2b6657002e19d78cbc97841f8d3eee6ac5b8.zip
SwRasterizer/Lighting: Fixed a bug where the distance attenuation bias was being set to the dist atten scale.
Diffstat (limited to 'src')
-rw-r--r--src/video_core/swrasterizer/rasterizer.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/video_core/swrasterizer/rasterizer.cpp b/src/video_core/swrasterizer/rasterizer.cpp
index 54af53bbd..48ed8ccbf 100644
--- a/src/video_core/swrasterizer/rasterizer.cpp
+++ b/src/video_core/swrasterizer/rasterizer.cpp
@@ -175,12 +175,11 @@ std::tuple<Math::Vec4<u8>, Math::Vec4<u8>> ComputeFragmentsColors(
175 if (!lighting.IsDistAttenDisabled(num)) { 175 if (!lighting.IsDistAttenDisabled(num)) {
176 auto distance = (-view - position).Length(); 176 auto distance = (-view - position).Length();
177 float scale = Pica::float20::FromRaw(light_config.dist_atten_scale).ToFloat32(); 177 float scale = Pica::float20::FromRaw(light_config.dist_atten_scale).ToFloat32();
178 float dist_aten_bias = 178 float bias = Pica::float20::FromRaw(light_config.dist_atten_bias).ToFloat32();
179 Pica::float20::FromRaw(light_config.dist_atten_scale).ToFloat32();
180 size_t lut = 179 size_t lut =
181 static_cast<size_t>(LightingRegs::LightingSampler::DistanceAttenuation) + num; 180 static_cast<size_t>(LightingRegs::LightingSampler::DistanceAttenuation) + num;
182 181
183 float sample_loc = scale * distance + dist_aten_bias; 182 float sample_loc = scale * distance + bias;
184 183
185 u8 lutindex = 184 u8 lutindex =
186 static_cast<u8>(MathUtil::Clamp(std::floor(sample_loc * 256.f), 0.0f, 255.0f)); 185 static_cast<u8>(MathUtil::Clamp(std::floor(sample_loc * 256.f), 0.0f, 255.0f));