summaryrefslogtreecommitdiff
path: root/src/video_core/clipper.cpp
diff options
context:
space:
mode:
authorGravatar bunnei2016-02-05 21:49:44 -0500
committerGravatar bunnei2016-02-05 21:49:44 -0500
commitf1d1049c4fdf51fd382f9afb6b5cd5f104e71b0e (patch)
tree5cac94917f52f018e0939f8b2e1be079e50c313c /src/video_core/clipper.cpp
parentMerge pull request #1391 from tfarley/hw-fb-sync-fix (diff)
parentpica: Cleanup lighting register definitions and documentation. (diff)
downloadyuzu-f1d1049c4fdf51fd382f9afb6b5cd5f104e71b0e.tar.gz
yuzu-f1d1049c4fdf51fd382f9afb6b5cd5f104e71b0e.tar.xz
yuzu-f1d1049c4fdf51fd382f9afb6b5cd5f104e71b0e.zip
Merge pull request #1264 from bunnei/fragment-lighting-hw
Fragment lighting support in the HW renderer
Diffstat (limited to 'src/video_core/clipper.cpp')
-rw-r--r--src/video_core/clipper.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/video_core/clipper.cpp b/src/video_core/clipper.cpp
index 5d609da06..a385589d2 100644
--- a/src/video_core/clipper.cpp
+++ b/src/video_core/clipper.cpp
@@ -59,15 +59,17 @@ static void InitScreenCoordinates(OutputVertex& vtx)
59 } viewport; 59 } viewport;
60 60
61 const auto& regs = g_state.regs; 61 const auto& regs = g_state.regs;
62 viewport.halfsize_x = float24::FromRawFloat24(regs.viewport_size_x); 62 viewport.halfsize_x = float24::FromRaw(regs.viewport_size_x);
63 viewport.halfsize_y = float24::FromRawFloat24(regs.viewport_size_y); 63 viewport.halfsize_y = float24::FromRaw(regs.viewport_size_y);
64 viewport.offset_x = float24::FromFloat32(static_cast<float>(regs.viewport_corner.x)); 64 viewport.offset_x = float24::FromFloat32(static_cast<float>(regs.viewport_corner.x));
65 viewport.offset_y = float24::FromFloat32(static_cast<float>(regs.viewport_corner.y)); 65 viewport.offset_y = float24::FromFloat32(static_cast<float>(regs.viewport_corner.y));
66 viewport.zscale = float24::FromRawFloat24(regs.viewport_depth_range); 66 viewport.zscale = float24::FromRaw(regs.viewport_depth_range);
67 viewport.offset_z = float24::FromRawFloat24(regs.viewport_depth_far_plane); 67 viewport.offset_z = float24::FromRaw(regs.viewport_depth_far_plane);
68 68
69 float24 inv_w = float24::FromFloat32(1.f) / vtx.pos.w; 69 float24 inv_w = float24::FromFloat32(1.f) / vtx.pos.w;
70 vtx.color *= inv_w; 70 vtx.color *= inv_w;
71 vtx.view *= inv_w;
72 vtx.quat *= inv_w;
71 vtx.tc0 *= inv_w; 73 vtx.tc0 *= inv_w;
72 vtx.tc1 *= inv_w; 74 vtx.tc1 *= inv_w;
73 vtx.tc2 *= inv_w; 75 vtx.tc2 *= inv_w;