Explorar el Código

Pica/Rasterizer: Rasterize actual pixel centers instead of pixel corners.

Tony Wasserka hace 11 años
padre
commit
3b5710bae6
Se han modificado 1 ficheros con 3 adiciones y 2 borrados
  1. 3 2
      src/video_core/rasterizer.cpp

+ 3 - 2
src/video_core/rasterizer.cpp

@@ -168,9 +168,10 @@ static void ProcessTriangleInternal(const VertexShader::OutputVertex& v0,
     auto textures = registers.GetTextures();
     auto tev_stages = registers.GetTevStages();
 
+    // Enter rasterization loop, starting at the center of the topleft bounding box corner.
     // TODO: Not sure if looping through x first might be faster
-    for (u16 y = min_y; y < max_y; y += 0x10) {
-        for (u16 x = min_x; x < max_x; x += 0x10) {
+    for (u16 y = min_y + 8; y < max_y; y += 0x10) {
+        for (u16 x = min_x + 8; x < max_x; x += 0x10) {
 
             // Calculate the barycentric coordinates w0, w1 and w2
             int w0 = bias0 + SignedArea(vtxpos[1].xy(), vtxpos[2].xy(), {x, y});