Просмотр исходного кода

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

Tony Wasserka 11 лет назад
Родитель
Сommit
3b5710bae6
1 измененных файлов с 3 добавлено и 2 удалено
  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});