Merge pull request #4172 from phire/software_fog_error
VideoSoftware: Fix unsigned overflow bug in fog
This commit is contained in:
commit
da82389347
|
@ -769,7 +769,8 @@ void Tev::Draw()
|
|||
// - scaling of the "k" coefficient isn't clear either.
|
||||
|
||||
// First, calculate the offset from the viewport center (normalized to 0..1)
|
||||
float offset = (Position[0] - (bpmem.fogRange.Base.Center - 342)) / (float)xfmem.viewport.wd;
|
||||
float offset = (Position[0] - (static_cast<s32>(bpmem.fogRange.Base.Center) - 342)) /
|
||||
static_cast<float>(xfmem.viewport.wd);
|
||||
|
||||
// Based on that, choose the index such that points which are far away from the z-axis use the
|
||||
// 10th "k" value and such that central points use the first value.
|
||||
|
|
Loading…
Reference in New Issue