diff options
Diffstat (limited to 'src/video_core/rasterizer.cpp')
| -rw-r--r-- | src/video_core/rasterizer.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/video_core/rasterizer.cpp b/src/video_core/rasterizer.cpp index 1bd32e8d0..cdfdb6215 100644 --- a/src/video_core/rasterizer.cpp +++ b/src/video_core/rasterizer.cpp | |||
| @@ -349,9 +349,11 @@ void ProcessTriangle(const VertexShader::OutputVertex& v0, | |||
| 349 | combiner_output = Math::MakeVec(color_output, alpha_output); | 349 | combiner_output = Math::MakeVec(color_output, alpha_output); |
| 350 | } | 350 | } |
| 351 | 351 | ||
| 352 | // TODO: Not sure if the multiplication by 65535 has already been taken care | ||
| 353 | // of when transforming to screen coordinates or not. | ||
| 352 | u16 z = (u16)(((float)v0.screenpos[2].ToFloat32() * w0 + | 354 | u16 z = (u16)(((float)v0.screenpos[2].ToFloat32() * w0 + |
| 353 | (float)v1.screenpos[2].ToFloat32() * w1 + | 355 | (float)v1.screenpos[2].ToFloat32() * w1 + |
| 354 | (float)v2.screenpos[2].ToFloat32() * w2) * 65535.f / wsum); // TODO: Shouldn't need to multiply by 65536? | 356 | (float)v2.screenpos[2].ToFloat32() * w2) * 65535.f / wsum); |
| 355 | SetDepth(x >> 4, y >> 4, z); | 357 | SetDepth(x >> 4, y >> 4, z); |
| 356 | 358 | ||
| 357 | DrawPixel(x >> 4, y >> 4, combiner_output); | 359 | DrawPixel(x >> 4, y >> 4, combiner_output); |