diff options
| author | 2016-02-05 21:49:44 -0500 | |
|---|---|---|
| committer | 2016-02-05 21:49:44 -0500 | |
| commit | f1d1049c4fdf51fd382f9afb6b5cd5f104e71b0e (patch) | |
| tree | 5cac94917f52f018e0939f8b2e1be079e50c313c /src/video_core/clipper.cpp | |
| parent | Merge pull request #1391 from tfarley/hw-fb-sync-fix (diff) | |
| parent | pica: Cleanup lighting register definitions and documentation. (diff) | |
| download | yuzu-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.cpp | 10 |
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; |