diff options
author | Jannik Vogel <email@jannikvogel.de> | 2016-03-20 01:53:49 +0100 |
---|---|---|
committer | Jannik Vogel <email@jannikvogel.de> | 2016-05-10 08:58:52 +0200 |
commit | 4c98113b572551f34a907094ca059de8a724c9b1 (patch) | |
tree | fb9f11a97913786f7ff559a1e1045b864f0aa935 /src/video_core/clipper.cpp | |
parent | 006fe5fc0f04b36d7f2895c8f9ff2796c44d8846 (diff) |
Pica: Implement W-Buffer in SW rasterizer
Diffstat (limited to 'src/video_core/clipper.cpp')
-rw-r--r-- | src/video_core/clipper.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/video_core/clipper.cpp b/src/video_core/clipper.cpp index 2bc747102..db99ce666 100644 --- a/src/video_core/clipper.cpp +++ b/src/video_core/clipper.cpp @@ -75,8 +75,6 @@ static void InitScreenCoordinates(OutputVertex& vtx) viewport.halfsize_y = float24::FromRaw(regs.viewport_size_y); viewport.offset_x = float24::FromFloat32(static_cast<float>(regs.viewport_corner.x)); viewport.offset_y = float24::FromFloat32(static_cast<float>(regs.viewport_corner.y)); - viewport.zscale = float24::FromRaw(regs.viewport_depth_range); - viewport.offset_z = float24::FromRaw(regs.viewport_depth_far_plane); float24 inv_w = float24::FromFloat32(1.f) / vtx.pos.w; vtx.color *= inv_w; @@ -89,7 +87,7 @@ static void InitScreenCoordinates(OutputVertex& vtx) vtx.screenpos[0] = (vtx.pos.x * inv_w + float24::FromFloat32(1.0)) * viewport.halfsize_x + viewport.offset_x; vtx.screenpos[1] = (vtx.pos.y * inv_w + float24::FromFloat32(1.0)) * viewport.halfsize_y + viewport.offset_y; - vtx.screenpos[2] = viewport.offset_z + vtx.pos.z * inv_w * viewport.zscale; + vtx.screenpos[2] = vtx.pos.z * inv_w; } void ProcessTriangle(const OutputVertex &v0, const OutputVertex &v1, const OutputVertex &v2) { |