|
|
|
@ -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});
|
|
|
|
|