Commit ed1cd4ea authored by hybrid's avatar hybrid

This time a proper sw renderer fix.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1485 dfc29bdd-3216-0410-991c-e03cc46cb475
parent 674b535c
...@@ -122,9 +122,9 @@ public: ...@@ -122,9 +122,9 @@ public:
leftZValue = v1->ZValue; leftZValue = v1->ZValue;
rightZValue = v1->ZValue; rightZValue = v1->ZValue;
leftR = rightR = video::getRed(v1->Color)<<3; leftR = rightR = video::getRed(v1->Color)<<11;
leftG = rightG = video::getGreen(v1->Color)<<3; leftG = rightG = video::getGreen(v1->Color)<<11;
leftB = rightB = video::getBlue(v1->Color)<<3; leftB = rightB = video::getBlue(v1->Color)<<11;
targetSurface = lockedSurface + span * SurfaceWidth; targetSurface = lockedSurface + span * SurfaceWidth;
zTarget = lockedZBuffer + span * SurfaceWidth; zTarget = lockedZBuffer + span * SurfaceWidth;
...@@ -134,32 +134,32 @@ public: ...@@ -134,32 +134,32 @@ public:
tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y); tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y);
rightdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv; rightdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv;
rightZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv); rightZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv);
rightStepR = (s32)(((video::getRed(v2->Color)<<3) - rightR) * tmpDiv); rightStepR = (s32)(((s32)(video::getRed(v2->Color)<<11) - rightR) * tmpDiv);
rightStepG = (s32)(((video::getGreen(v2->Color)<<3) - rightG) * tmpDiv); rightStepG = (s32)(((s32)(video::getGreen(v2->Color)<<11) - rightG) * tmpDiv);
rightStepB = (s32)(((video::getBlue(v2->Color)<<3) - rightB) * tmpDiv); rightStepB = (s32)(((s32)(video::getBlue(v2->Color)<<11) - rightB) * tmpDiv);
tmpDiv = 1.0f / (f32)height; tmpDiv = 1.0f / (f32)height;
leftdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv; leftdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv;
leftZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv); leftZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv);
leftStepR = (s32)(((video::getRed(v3->Color)<<3) - leftR) * tmpDiv); leftStepR = (s32)(((s32)(video::getRed(v3->Color)<<11) - leftR) * tmpDiv);
leftStepG = (s32)(((video::getGreen(v3->Color)<<3) - leftG) * tmpDiv); leftStepG = (s32)(((s32)(video::getGreen(v3->Color)<<11) - leftG) * tmpDiv);
leftStepB = (s32)(((video::getBlue(v3->Color)<<3) - leftB) * tmpDiv); leftStepB = (s32)(((s32)(video::getBlue(v3->Color)<<11) - leftB) * tmpDiv);
} }
else else
{ {
tmpDiv = 1.0f / (f32)height; tmpDiv = 1.0f / (f32)height;
rightdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv; rightdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv;
rightZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv); rightZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv);
rightStepR = (s32)(((video::getRed(v3->Color)<<3) - rightR) * tmpDiv); rightStepR = (s32)(((s32)(video::getRed(v3->Color)<<11) - rightR) * tmpDiv);
rightStepG = (s32)(((video::getGreen(v3->Color)<<3) - rightG) * tmpDiv); rightStepG = (s32)(((s32)(video::getGreen(v3->Color)<<11) - rightG) * tmpDiv);
rightStepB = (s32)(((video::getBlue(v3->Color)<<3) - rightB) * tmpDiv); rightStepB = (s32)(((s32)(video::getBlue(v3->Color)<<11) - rightB) * tmpDiv);
tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y); tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y);
leftdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv; leftdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv;
leftZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv); leftZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv);
leftStepR = (s32)(((video::getRed(v2->Color)<<3) - leftR) * tmpDiv); leftStepR = (s32)(((s32)(video::getRed(v2->Color)<<11) - leftR) * tmpDiv);
leftStepG = (s32)(((video::getGreen(v2->Color)<<3) - leftG) * tmpDiv); leftStepG = (s32)(((s32)(video::getGreen(v2->Color)<<11) - leftG) * tmpDiv);
leftStepB = (s32)(((video::getBlue(v2->Color)<<3) - leftB) * tmpDiv); leftStepB = (s32)(((s32)(video::getBlue(v2->Color)<<11) - leftB) * tmpDiv);
} }
...@@ -250,7 +250,7 @@ public: ...@@ -250,7 +250,7 @@ public:
if (spanZValue > *spanZTarget) if (spanZValue > *spanZTarget)
{ {
*spanZTarget = spanZValue; *spanZTarget = spanZValue;
*hSpanBegin = video::RGB16(spanR, spanG, spanB); *hSpanBegin = video::RGB16(spanR>>8, spanG>>8, spanB>>8);
} }
spanR += spanStepR; spanR += spanStepR;
...@@ -295,12 +295,12 @@ public: ...@@ -295,12 +295,12 @@ public:
rightZValue = v2->ZValue; rightZValue = v2->ZValue;
rightZStep = (s32)((v3->ZValue - v2->ZValue) * tmpDiv); rightZStep = (s32)((v3->ZValue - v2->ZValue) * tmpDiv);
rightR = video::getRed(v2->Color)<<3; rightR = video::getRed(v2->Color)<<11;
rightG = video::getGreen(v2->Color)<<3; rightG = video::getGreen(v2->Color)<<11;
rightB = video::getBlue(v2->Color)<<3; rightB = video::getBlue(v2->Color)<<11;
rightStepR = (s32)(((video::getRed(v3->Color)<<3) - rightR) * tmpDiv); rightStepR = (s32)(((s32)(video::getRed(v3->Color)<<11) - rightR) * tmpDiv);
rightStepG = (s32)(((video::getGreen(v3->Color)<<3) - rightG) * tmpDiv); rightStepG = (s32)(((s32)(video::getGreen(v3->Color)<<11) - rightG) * tmpDiv);
rightStepB = (s32)(((video::getBlue(v3->Color)<<3) - rightB) * tmpDiv); rightStepB = (s32)(((s32)(video::getBlue(v3->Color)<<11) - rightB) * tmpDiv);
} }
else else
{ {
...@@ -312,12 +312,12 @@ public: ...@@ -312,12 +312,12 @@ public:
leftZValue = v2->ZValue; leftZValue = v2->ZValue;
leftZStep = (s32)((v3->ZValue - v2->ZValue) * tmpDiv); leftZStep = (s32)((v3->ZValue - v2->ZValue) * tmpDiv);
leftR = video::getRed(v2->Color)<<3; leftR = video::getRed(v2->Color)<<11;
leftG = video::getGreen(v2->Color)<<3; leftG = video::getGreen(v2->Color)<<11;
leftB = video::getBlue(v2->Color)<<3; leftB = video::getBlue(v2->Color)<<11;
leftStepR = (s32)(((video::getRed(v3->Color)<<3) - leftR) * tmpDiv); leftStepR = (s32)(((s32)(video::getRed(v3->Color)<<11) - leftR) * tmpDiv);
leftStepG = (s32)(((video::getGreen(v3->Color)<<3) - leftG) * tmpDiv); leftStepG = (s32)(((s32)(video::getGreen(v3->Color)<<11) - leftG) * tmpDiv);
leftStepB = (s32)(((video::getBlue(v3->Color)<<3) - leftB) * tmpDiv); leftStepB = (s32)(((s32)(video::getBlue(v3->Color)<<11) - leftB) * tmpDiv);
} }
......
...@@ -118,9 +118,9 @@ public: ...@@ -118,9 +118,9 @@ public:
leftZValue = v1->ZValue; leftZValue = v1->ZValue;
rightZValue = v1->ZValue; rightZValue = v1->ZValue;
leftR = rightR = video::getRed(v1->Color)<<8; leftR = rightR = video::getRed(v1->Color)<<11;
leftG = rightG = video::getGreen(v1->Color)<<8; leftG = rightG = video::getGreen(v1->Color)<<11;
leftB = rightB = video::getBlue(v1->Color)<<8; leftB = rightB = video::getBlue(v1->Color)<<11;
targetSurface = lockedSurface + span * SurfaceWidth; targetSurface = lockedSurface + span * SurfaceWidth;
zTarget = lockedZBuffer + span * SurfaceWidth; zTarget = lockedZBuffer + span * SurfaceWidth;
...@@ -130,32 +130,32 @@ public: ...@@ -130,32 +130,32 @@ public:
tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y); tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y);
rightdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv; rightdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv;
rightZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv); rightZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv);
rightStepR = (s32)(((video::getRed(v2->Color)<<8) - rightR) * tmpDiv); rightStepR = (s32)(((s32)(video::getRed(v2->Color)<<11) - rightR) * tmpDiv);
rightStepG = (s32)(((video::getGreen(v2->Color)<<8) - rightG) * tmpDiv); rightStepG = (s32)(((s32)(video::getGreen(v2->Color)<<11) - rightG) * tmpDiv);
rightStepB = (s32)(((video::getBlue(v2->Color)<<8) - rightB) * tmpDiv); rightStepB = (s32)(((s32)(video::getBlue(v2->Color)<<11) - rightB) * tmpDiv);
tmpDiv = 1.0f / (f32)height; tmpDiv = 1.0f / (f32)height;
leftdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv; leftdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv;
leftZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv); leftZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv);
leftStepR = (s32)(((video::getRed(v3->Color)<<8) - leftR) * tmpDiv); leftStepR = (s32)(((s32)(video::getRed(v3->Color)<<11) - leftR) * tmpDiv);
leftStepG = (s32)(((video::getGreen(v3->Color)<<8) - leftG) * tmpDiv); leftStepG = (s32)(((s32)(video::getGreen(v3->Color)<<11) - leftG) * tmpDiv);
leftStepB = (s32)(((video::getBlue(v3->Color)<<8) - leftB) * tmpDiv); leftStepB = (s32)(((s32)(video::getBlue(v3->Color)<<11) - leftB) * tmpDiv);
} }
else else
{ {
tmpDiv = 1.0f / (f32)height; tmpDiv = 1.0f / (f32)height;
rightdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv; rightdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv;
rightZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv); rightZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv);
rightStepR = (s32)(((video::getRed(v3->Color)<<8) - rightR) * tmpDiv); rightStepR = (s32)(((s32)(video::getRed(v3->Color)<<11) - rightR) * tmpDiv);
rightStepG = (s32)(((video::getGreen(v3->Color)<<8) - rightG) * tmpDiv); rightStepG = (s32)(((s32)(video::getGreen(v3->Color)<<11) - rightG) * tmpDiv);
rightStepB = (s32)(((video::getBlue(v3->Color)<<8) - rightB) * tmpDiv); rightStepB = (s32)(((s32)(video::getBlue(v3->Color)<<11) - rightB) * tmpDiv);
tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y); tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y);
leftdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv; leftdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv;
leftZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv); leftZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv);
leftStepR = (s32)(((video::getRed(v2->Color)<<8) - leftR) * tmpDiv); leftStepR = (s32)(((s32)(video::getRed(v2->Color)<<11) - leftR) * tmpDiv);
leftStepG = (s32)(((video::getGreen(v2->Color)<<8) - leftG) * tmpDiv); leftStepG = (s32)(((s32)(video::getGreen(v2->Color)<<11) - leftG) * tmpDiv);
leftStepB = (s32)(((video::getBlue(v2->Color)<<8) - leftB) * tmpDiv); leftStepB = (s32)(((s32)(video::getBlue(v2->Color)<<11) - leftB) * tmpDiv);
} }
...@@ -214,7 +214,7 @@ public: ...@@ -214,7 +214,7 @@ public:
if (leftZValue > *(zTarget + leftx)) if (leftZValue > *(zTarget + leftx))
{ {
*(zTarget + leftx) = leftZValue; *(zTarget + leftx) = leftZValue;
*(targetSurface + leftx) = (((leftR>>8) & 0x1F)<<10) | (((leftG>>8) & 0x1F)<<5) | ((leftB>>8) & 0x1F); *(targetSurface + leftx) = video::RGB16(leftR>>8, leftG>>8, leftB>>8);
} }
} }
...@@ -225,7 +225,7 @@ public: ...@@ -225,7 +225,7 @@ public:
if (rightZValue > *(zTarget + rightx)) if (rightZValue > *(zTarget + rightx))
{ {
*(zTarget + rightx) = rightZValue; *(zTarget + rightx) = rightZValue;
*(targetSurface + rightx) = (((rightR>>8) & 0x1F)<<10) | (((rightG>>8) & 0x1F)<<5) | ((rightB>>8) & 0x1F); *(targetSurface + rightx) = video::RGB16(rightR, rightG, rightB);
} }
} }
...@@ -262,12 +262,12 @@ public: ...@@ -262,12 +262,12 @@ public:
rightZValue = v2->ZValue; rightZValue = v2->ZValue;
rightZStep = (s32)((v3->ZValue - v2->ZValue) * tmpDiv); rightZStep = (s32)((v3->ZValue - v2->ZValue) * tmpDiv);
rightR = video::getRed(v2->Color)<<8; rightR = video::getRed(v2->Color)<<11;
rightG = video::getGreen(v2->Color)<<8; rightG = video::getGreen(v2->Color)<<11;
rightB = video::getBlue(v2->Color)<<8; rightB = video::getBlue(v2->Color)<<11;
rightStepR = (s32)(((video::getRed(v3->Color)<<8) - rightR) * tmpDiv); rightStepR = (s32)(((s32)(video::getRed(v3->Color)<<11) - rightR) * tmpDiv);
rightStepG = (s32)(((video::getGreen(v3->Color)<<8) - rightG) * tmpDiv); rightStepG = (s32)(((s32)(video::getGreen(v3->Color)<<11) - rightG) * tmpDiv);
rightStepB = (s32)(((video::getBlue(v3->Color)<<8) - rightB) * tmpDiv); rightStepB = (s32)(((s32)(video::getBlue(v3->Color)<<11) - rightB) * tmpDiv);
} }
else else
{ {
...@@ -279,12 +279,12 @@ public: ...@@ -279,12 +279,12 @@ public:
leftZValue = v2->ZValue; leftZValue = v2->ZValue;
leftZStep = (s32)((v3->ZValue - v2->ZValue) * tmpDiv); leftZStep = (s32)((v3->ZValue - v2->ZValue) * tmpDiv);
leftR = video::getRed(v2->Color)<<8; leftR = video::getRed(v2->Color)<<11;
leftG = video::getGreen(v2->Color)<<8; leftG = video::getGreen(v2->Color)<<11;
leftB = video::getBlue(v2->Color)<<8; leftB = video::getBlue(v2->Color)<<11;
leftStepR = (s32)(((video::getRed(v3->Color)<<8) - leftR) * tmpDiv); leftStepR = (s32)(((s32)(video::getRed(v3->Color)<<11) - leftR) * tmpDiv);
leftStepG = (s32)(((video::getGreen(v3->Color)<<8) - leftG) * tmpDiv); leftStepG = (s32)(((s32)(video::getGreen(v3->Color)<<11) - leftG) * tmpDiv);
leftStepB = (s32)(((video::getBlue(v3->Color)<<8) - leftB) * tmpDiv); leftStepB = (s32)(((s32)(video::getBlue(v3->Color)<<11) - leftB) * tmpDiv);
} }
......
...@@ -205,18 +205,18 @@ void CTRTextureGouraud::drawIndexedTriangleList(S2DVertex* vertices, s32 vertexC ...@@ -205,18 +205,18 @@ void CTRTextureGouraud::drawIndexedTriangleList(S2DVertex* vertices, s32 vertexC
tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y); tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y);
rightdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv; rightdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv;
rightZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv); rightZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv);
rightStepR = (s32)(((video::getRed(v2->Color)<<8) - rightR) * tmpDiv); rightStepR = (s32)(((s32)(video::getRed(v2->Color)<<8) - rightR) * tmpDiv);
rightStepG = (s32)(((video::getGreen(v2->Color)<<8) - rightG) * tmpDiv); rightStepG = (s32)(((s32)(video::getGreen(v2->Color)<<8) - rightG) * tmpDiv);
rightStepB = (s32)(((video::getBlue(v2->Color)<<8) - rightB) * tmpDiv); rightStepB = (s32)(((s32)(video::getBlue(v2->Color)<<8) - rightB) * tmpDiv);
rightTxStep = (s32)((v2->TCoords.X - rightTx) * tmpDiv); rightTxStep = (s32)((v2->TCoords.X - rightTx) * tmpDiv);
rightTyStep = (s32)((v2->TCoords.Y - rightTy) * tmpDiv); rightTyStep = (s32)((v2->TCoords.Y - rightTy) * tmpDiv);
tmpDiv = 1.0f / (f32)height; tmpDiv = 1.0f / (f32)height;
leftdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv; leftdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv;
leftZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv); leftZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv);
leftStepR = (s32)(((video::getRed(v3->Color)<<8) - leftR) * tmpDiv); leftStepR = (s32)(((s32)(video::getRed(v3->Color)<<8) - leftR) * tmpDiv);
leftStepG = (s32)(((video::getGreen(v3->Color)<<8) - leftG) * tmpDiv); leftStepG = (s32)(((s32)(video::getGreen(v3->Color)<<8) - leftG) * tmpDiv);
leftStepB = (s32)(((video::getBlue(v3->Color)<<8) - leftB) * tmpDiv); leftStepB = (s32)(((s32)(video::getBlue(v3->Color)<<8) - leftB) * tmpDiv);
leftTxStep = (s32)((v3->TCoords.X - leftTx) * tmpDiv); leftTxStep = (s32)((v3->TCoords.X - leftTx) * tmpDiv);
leftTyStep = (s32)((v3->TCoords.Y - leftTy) * tmpDiv); leftTyStep = (s32)((v3->TCoords.Y - leftTy) * tmpDiv);
} }
...@@ -225,18 +225,18 @@ void CTRTextureGouraud::drawIndexedTriangleList(S2DVertex* vertices, s32 vertexC ...@@ -225,18 +225,18 @@ void CTRTextureGouraud::drawIndexedTriangleList(S2DVertex* vertices, s32 vertexC
tmpDiv = 1.0f / (f32)height; tmpDiv = 1.0f / (f32)height;
rightdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv; rightdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv;
rightZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv); rightZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv);
rightStepR = (s32)(((video::getRed(v3->Color)<<8) - rightR) * tmpDiv); rightStepR = (s32)(((s32)(video::getRed(v3->Color)<<8) - rightR) * tmpDiv);
rightStepG = (s32)(((video::getGreen(v3->Color)<<8) - rightG) * tmpDiv); rightStepG = (s32)(((s32)(video::getGreen(v3->Color)<<8) - rightG) * tmpDiv);
rightStepB = (s32)(((video::getBlue(v3->Color)<<8) - rightB) * tmpDiv); rightStepB = (s32)(((s32)(video::getBlue(v3->Color)<<8) - rightB) * tmpDiv);
rightTxStep = (s32)((v3->TCoords.X - rightTx) * tmpDiv); rightTxStep = (s32)((v3->TCoords.X - rightTx) * tmpDiv);
rightTyStep = (s32)((v3->TCoords.Y - rightTy) * tmpDiv); rightTyStep = (s32)((v3->TCoords.Y - rightTy) * tmpDiv);
tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y); tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y);
leftdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv; leftdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv;
leftZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv); leftZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv);
leftStepR = (s32)(((video::getRed(v2->Color)<<8) - leftR) * tmpDiv); leftStepR = (s32)(((s32)(video::getRed(v2->Color)<<8) - leftR) * tmpDiv);
leftStepG = (s32)(((video::getGreen(v2->Color)<<8) - leftG) * tmpDiv); leftStepG = (s32)(((s32)(video::getGreen(v2->Color)<<8) - leftG) * tmpDiv);
leftStepB = (s32)(((video::getBlue(v2->Color)<<8) - leftB) * tmpDiv); leftStepB = (s32)(((s32)(video::getBlue(v2->Color)<<8) - leftB) * tmpDiv);
leftTxStep = (s32)((v2->TCoords.X - leftTx) * tmpDiv); leftTxStep = (s32)((v2->TCoords.X - leftTx) * tmpDiv);
leftTyStep = (s32)((v2->TCoords.Y - leftTy) * tmpDiv); leftTyStep = (s32)((v2->TCoords.Y - leftTy) * tmpDiv);
} }
...@@ -397,9 +397,9 @@ void CTRTextureGouraud::drawIndexedTriangleList(S2DVertex* vertices, s32 vertexC ...@@ -397,9 +397,9 @@ void CTRTextureGouraud::drawIndexedTriangleList(S2DVertex* vertices, s32 vertexC
rightR = video::getRed(v2->Color)<<8; rightR = video::getRed(v2->Color)<<8;
rightG = video::getGreen(v2->Color)<<8; rightG = video::getGreen(v2->Color)<<8;
rightB = video::getBlue(v2->Color)<<8; rightB = video::getBlue(v2->Color)<<8;
rightStepR = (s32)(((video::getRed(v3->Color)<<8) - rightR) * tmpDiv); rightStepR = (s32)(((s32)(video::getRed(v3->Color)<<8) - rightR) * tmpDiv);
rightStepG = (s32)(((video::getGreen(v3->Color)<<8) - rightG) * tmpDiv); rightStepG = (s32)(((s32)(video::getGreen(v3->Color)<<8) - rightG) * tmpDiv);
rightStepB = (s32)(((video::getBlue(v3->Color)<<8) - rightB) * tmpDiv); rightStepB = (s32)(((s32)(video::getBlue(v3->Color)<<8) - rightB) * tmpDiv);
rightTx = v2->TCoords.X; rightTx = v2->TCoords.X;
rightTy = v2->TCoords.Y; rightTy = v2->TCoords.Y;
...@@ -419,9 +419,9 @@ void CTRTextureGouraud::drawIndexedTriangleList(S2DVertex* vertices, s32 vertexC ...@@ -419,9 +419,9 @@ void CTRTextureGouraud::drawIndexedTriangleList(S2DVertex* vertices, s32 vertexC
leftR = video::getRed(v2->Color)<<8; leftR = video::getRed(v2->Color)<<8;
leftG = video::getGreen(v2->Color)<<8; leftG = video::getGreen(v2->Color)<<8;
leftB = video::getBlue(v2->Color)<<8; leftB = video::getBlue(v2->Color)<<8;
leftStepR = (s32)(((video::getRed(v3->Color)<<8) - leftR) * tmpDiv); leftStepR = (s32)(((s32)(video::getRed(v3->Color)<<8) - leftR) * tmpDiv);
leftStepG = (s32)(((video::getGreen(v3->Color)<<8) - leftG) * tmpDiv); leftStepG = (s32)(((s32)(video::getGreen(v3->Color)<<8) - leftG) * tmpDiv);
leftStepB = (s32)(((video::getBlue(v3->Color)<<8) - leftB) * tmpDiv); leftStepB = (s32)(((s32)(video::getBlue(v3->Color)<<8) - leftB) * tmpDiv);
leftTx = v2->TCoords.X; leftTx = v2->TCoords.X;
leftTy = v2->TCoords.Y; leftTy = v2->TCoords.Y;
......
...@@ -151,18 +151,18 @@ void CTRTextureGouraudAdd::drawIndexedTriangleList(S2DVertex* vertices, s32 vert ...@@ -151,18 +151,18 @@ void CTRTextureGouraudAdd::drawIndexedTriangleList(S2DVertex* vertices, s32 vert
tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y); tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y);
rightdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv; rightdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv;
rightZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv); rightZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv);
rightStepR = (s32)(((video::getRed(v2->Color)<<8) - rightR) * tmpDiv); rightStepR = (s32)(((s32)(video::getRed(v2->Color)<<8) - rightR) * tmpDiv);
rightStepG = (s32)(((video::getGreen(v2->Color)<<8) - rightG) * tmpDiv); rightStepG = (s32)(((s32)(video::getGreen(v2->Color)<<8) - rightG) * tmpDiv);
rightStepB = (s32)(((video::getBlue(v2->Color)<<8) - rightB) * tmpDiv); rightStepB = (s32)(((s32)(video::getBlue(v2->Color)<<8) - rightB) * tmpDiv);
rightTxStep = (s32)((v2->TCoords.X - rightTx) * tmpDiv); rightTxStep = (s32)((v2->TCoords.X - rightTx) * tmpDiv);
rightTyStep = (s32)((v2->TCoords.Y - rightTy) * tmpDiv); rightTyStep = (s32)((v2->TCoords.Y - rightTy) * tmpDiv);
tmpDiv = 1.0f / (f32)height; tmpDiv = 1.0f / (f32)height;
leftdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv; leftdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv;
leftZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv); leftZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv);
leftStepR = (s32)(((video::getRed(v3->Color)<<8) - leftR) * tmpDiv); leftStepR = (s32)(((s32)(video::getRed(v3->Color)<<8) - leftR) * tmpDiv);
leftStepG = (s32)(((video::getGreen(v3->Color)<<8) - leftG) * tmpDiv); leftStepG = (s32)(((s32)(video::getGreen(v3->Color)<<8) - leftG) * tmpDiv);
leftStepB = (s32)(((video::getBlue(v3->Color)<<8) - leftB) * tmpDiv); leftStepB = (s32)(((s32)(video::getBlue(v3->Color)<<8) - leftB) * tmpDiv);
leftTxStep = (s32)((v3->TCoords.X - leftTx) * tmpDiv); leftTxStep = (s32)((v3->TCoords.X - leftTx) * tmpDiv);
leftTyStep = (s32)((v3->TCoords.Y - leftTy) * tmpDiv); leftTyStep = (s32)((v3->TCoords.Y - leftTy) * tmpDiv);
} }
...@@ -171,18 +171,18 @@ void CTRTextureGouraudAdd::drawIndexedTriangleList(S2DVertex* vertices, s32 vert ...@@ -171,18 +171,18 @@ void CTRTextureGouraudAdd::drawIndexedTriangleList(S2DVertex* vertices, s32 vert
tmpDiv = 1.0f / (f32)height; tmpDiv = 1.0f / (f32)height;
rightdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv; rightdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv;
rightZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv); rightZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv);
rightStepR = (s32)(((video::getRed(v3->Color)<<8) - rightR) * tmpDiv); rightStepR = (s32)(((s32)(video::getRed(v3->Color)<<8) - rightR) * tmpDiv);
rightStepG = (s32)(((video::getGreen(v3->Color)<<8) - rightG) * tmpDiv); rightStepG = (s32)(((s32)(video::getGreen(v3->Color)<<8) - rightG) * tmpDiv);
rightStepB = (s32)(((video::getBlue(v3->Color)<<8) - rightB) * tmpDiv); rightStepB = (s32)(((s32)(video::getBlue(v3->Color)<<8) - rightB) * tmpDiv);
rightTxStep = (s32)((v3->TCoords.X - rightTx) * tmpDiv); rightTxStep = (s32)((v3->TCoords.X - rightTx) * tmpDiv);
rightTyStep = (s32)((v3->TCoords.Y - rightTy) * tmpDiv); rightTyStep = (s32)((v3->TCoords.Y - rightTy) * tmpDiv);
tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y); tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y);
leftdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv; leftdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv;
leftZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv); leftZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv);
leftStepR = (s32)(((video::getRed(v2->Color)<<8) - leftR) * tmpDiv); leftStepR = (s32)(((s32)(video::getRed(v2->Color)<<8) - leftR) * tmpDiv);
leftStepG = (s32)(((video::getGreen(v2->Color)<<8) - leftG) * tmpDiv); leftStepG = (s32)(((s32)(video::getGreen(v2->Color)<<8) - leftG) * tmpDiv);
leftStepB = (s32)(((video::getBlue(v2->Color)<<8) - leftB) * tmpDiv); leftStepB = (s32)(((s32)(video::getBlue(v2->Color)<<8) - leftB) * tmpDiv);
leftTxStep = (s32)((v2->TCoords.X - leftTx) * tmpDiv); leftTxStep = (s32)((v2->TCoords.X - leftTx) * tmpDiv);
leftTyStep = (s32)((v2->TCoords.Y - leftTy) * tmpDiv); leftTyStep = (s32)((v2->TCoords.Y - leftTy) * tmpDiv);
} }
...@@ -286,12 +286,12 @@ void CTRTextureGouraudAdd::drawIndexedTriangleList(S2DVertex* vertices, s32 vert ...@@ -286,12 +286,12 @@ void CTRTextureGouraudAdd::drawIndexedTriangleList(S2DVertex* vertices, s32 vert
//*spanZTarget = spanZValue; //*spanZTarget = spanZValue;
color = lockedTexture[((spanTy>>8)&textureYMask) * lockedTextureWidth + ((spanTx>>8)&textureXMask)]; color = lockedTexture[((spanTy>>8)&textureYMask) * lockedTextureWidth + ((spanTx>>8)&textureXMask)];
int basis = *hSpanBegin; s32 basis = *hSpanBegin;
int r = (video::getRed(basis)<<3) + (video::getRed(color)<<3); s32 r = (video::getRed(basis)<<3) + (video::getRed(color)<<3);
if (r > 255) r = 255; if (r > 255) r = 255;
int g = (video::getGreen(basis)<<3) + (video::getGreen(color)<<3); s32 g = (video::getGreen(basis)<<3) + (video::getGreen(color)<<3);
if (g > 255) g = 255; if (g > 255) g = 255;
int b = (video::getBlue(basis)<<3) + (video::getBlue(color)<<3); s32 b = (video::getBlue(basis)<<3) + (video::getBlue(color)<<3);
if (b > 255) b = 255; if (b > 255) b = 255;
*hSpanBegin = video::RGB16(r, g, b); *hSpanBegin = video::RGB16(r, g, b);
...@@ -350,9 +350,9 @@ void CTRTextureGouraudAdd::drawIndexedTriangleList(S2DVertex* vertices, s32 vert ...@@ -350,9 +350,9 @@ void CTRTextureGouraudAdd::drawIndexedTriangleList(S2DVertex* vertices, s32 vert
rightR = video::getRed(v2->Color)<<8; rightR = video::getRed(v2->Color)<<8;
rightG = video::getGreen(v2->Color)<<8; rightG = video::getGreen(v2->Color)<<8;
rightB = video::getBlue(v2->Color)<<8; rightB = video::getBlue(v2->Color)<<8;
rightStepR = (s32)(((video::getRed(v3->Color)<<8) - rightR) * tmpDiv); rightStepR = (s32)(((s32)(video::getRed(v3->Color)<<8) - rightR) * tmpDiv);
rightStepG = (s32)(((video::getGreen(v3->Color)<<8) - rightG) * tmpDiv); rightStepG = (s32)(((s32)(video::getGreen(v3->Color)<<8) - rightG) * tmpDiv);
rightStepB = (s32)(((video::getBlue(v3->Color)<<8) - rightB) * tmpDiv); rightStepB = (s32)(((s32)(video::getBlue(v3->Color)<<8) - rightB) * tmpDiv);
rightTx = v2->TCoords.X; rightTx = v2->TCoords.X;
rightTy = v2->TCoords.Y; rightTy = v2->TCoords.Y;
...@@ -372,9 +372,9 @@ void CTRTextureGouraudAdd::drawIndexedTriangleList(S2DVertex* vertices, s32 vert ...@@ -372,9 +372,9 @@ void CTRTextureGouraudAdd::drawIndexedTriangleList(S2DVertex* vertices, s32 vert
leftR = video::getRed(v2->Color)<<8; leftR = video::getRed(v2->Color)<<8;
leftG = video::getGreen(v2->Color)<<8; leftG = video::getGreen(v2->Color)<<8;
leftB = video::getBlue(v2->Color)<<8; leftB = video::getBlue(v2->Color)<<8;
leftStepR = (s32)(((video::getRed(v3->Color)<<8) - leftR) * tmpDiv); leftStepR = (s32)(((s32)(video::getRed(v3->Color)<<8) - leftR) * tmpDiv);
leftStepG = (s32)(((video::getGreen(v3->Color)<<8) - leftG) * tmpDiv); leftStepG = (s32)(((s32)(video::getGreen(v3->Color)<<8) - leftG) * tmpDiv);
leftStepB = (s32)(((video::getBlue(v3->Color)<<8) - leftB) * tmpDiv); leftStepB = (s32)(((s32)(video::getBlue(v3->Color)<<8) - leftB) * tmpDiv);
leftTx = v2->TCoords.X; leftTx = v2->TCoords.X;
leftTy = v2->TCoords.Y; leftTy = v2->TCoords.Y;
......
...@@ -129,17 +129,17 @@ public: ...@@ -129,17 +129,17 @@ public:
{ {
tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y); tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y);
rightdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv; rightdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv;
rightStepR = (s32)(((video::getRed(v2->Color)<<8) - rightR) * tmpDiv); rightStepR = (s32)(((s32)(video::getRed(v2->Color)<<8) - rightR) * tmpDiv);
rightStepG = (s32)(((video::getGreen(v2->Color)<<8) - rightG) * tmpDiv); rightStepG = (s32)(((s32)(video::getGreen(v2->Color)<<8) - rightG) * tmpDiv);
rightStepB = (s32)(((video::getBlue(v2->Color)<<8) - rightB) * tmpDiv); rightStepB = (s32)(((s32)(video::getBlue(v2->Color)<<8) - rightB) * tmpDiv);
rightTxStep = (s32)((v2->TCoords.X - rightTx) * tmpDiv); rightTxStep = (s32)((v2->TCoords.X - rightTx) * tmpDiv);
rightTyStep = (s32)((v2->TCoords.Y - rightTy) * tmpDiv); rightTyStep = (s32)((v2->TCoords.Y - rightTy) * tmpDiv);
tmpDiv = 1.0f / (f32)height; tmpDiv = 1.0f / (f32)height;
leftdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv; leftdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv;
leftStepR = (s32)(((video::getRed(v3->Color)<<8) - leftR) * tmpDiv); leftStepR = (s32)(((s32)(video::getRed(v3->Color)<<8) - leftR) * tmpDiv);
leftStepG = (s32)(((video::getGreen(v3->Color)<<8) - leftG) * tmpDiv); leftStepG = (s32)(((s32)(video::getGreen(v3->Color)<<8) - leftG) * tmpDiv);
leftStepB = (s32)(((video::getBlue(v3->Color)<<8) - leftB) * tmpDiv); leftStepB = (s32)(((s32)(video::getBlue(v3->Color)<<8) - leftB) * tmpDiv);
leftTxStep = (s32)((v3->TCoords.X - leftTx) * tmpDiv); leftTxStep = (s32)((v3->TCoords.X - leftTx) * tmpDiv);
leftTyStep = (s32)((v3->TCoords.Y - leftTy) * tmpDiv); leftTyStep = (s32)((v3->TCoords.Y - leftTy) * tmpDiv);
} }
...@@ -147,17 +147,17 @@ public: ...@@ -147,17 +147,17 @@ public:
{ {
tmpDiv = 1.0f / (f32)height; tmpDiv = 1.0f / (f32)height;
rightdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv; rightdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv;
rightStepR = (s32)(((video::getRed(v3->Color)<<8) - rightR) * tmpDiv); rightStepR = (s32)(((s32)(video::getRed(v3->Color)<<8) - rightR) * tmpDiv);
rightStepG = (s32)(((video::getGreen(v3->Color)<<8) - rightG) * tmpDiv); rightStepG = (s32)(((s32)(video::getGreen(v3->Color)<<8) - rightG) * tmpDiv);
rightStepB = (s32)(((video::getBlue(v3->Color)<<8) - rightB) * tmpDiv); rightStepB = (s32)(((s32)(video::getBlue(v3->Color)<<8) - rightB) * tmpDiv);
rightTxStep = (s32)((v3->TCoords.X - rightTx) * tmpDiv); rightTxStep = (s32)((v3->TCoords.X - rightTx) * tmpDiv);
rightTyStep = (s32)((v3->TCoords.Y - rightTy) * tmpDiv); rightTyStep = (s32)((v3->TCoords.Y - rightTy) * tmpDiv);
tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y); tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y);
leftdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv; leftdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv;
leftStepR = (s32)(((video::getRed(v2->Color)<<8) - leftR) * tmpDiv); leftStepR = (s32)(((s32)(video::getRed(v2->Color)<<8) - leftR) * tmpDiv);
leftStepG = (s32)(((video::getGreen(v2->Color)<<8) - leftG) * tmpDiv); leftStepG = (s32)(((s32)(video::getGreen(v2->Color)<<8) - leftG) * tmpDiv);
leftStepB = (s32)(((video::getBlue(v2->Color)<<8) - leftB) * tmpDiv); leftStepB = (s32)(((s32)(video::getBlue(v2->Color)<<8) - leftB) * tmpDiv);
leftTxStep = (s32)((v2->TCoords.X - leftTx) * tmpDiv); leftTxStep = (s32)((v2->TCoords.X - leftTx) * tmpDiv);
leftTyStep = (s32)((v2->TCoords.Y - leftTy) * tmpDiv); leftTyStep = (s32)((v2->TCoords.Y - leftTy) * tmpDiv);
} }
...@@ -300,9 +300,9 @@ public: ...@@ -300,9 +300,9 @@ public:
rightR = video::getRed(v2->Color)<<8; rightR = video::getRed(v2->Color)<<8;
rightG = video::getGreen(v2->Color)<<8; rightG = video::getGreen(v2->Color)<<8;
rightB = video::getBlue(v2->Color)<<8; rightB = video::getBlue(v2->Color)<<8;
rightStepR = (s32)(((video::getRed(v3->Color)<<8) - rightR) * tmpDiv); rightStepR = (s32)(((s32)(video::getRed(v3->Color)<<8) - rightR) * tmpDiv);
rightStepG = (s32)(((video::getGreen(v3->Color)<<8) - rightG) * tmpDiv); rightStepG = (s32)(((s32)(video::getGreen(v3->Color)<<8) - rightG) * tmpDiv);
rightStepB = (s32)(((video::getBlue(v3->Color)<<8) - rightB) * tmpDiv); rightStepB = (s32)(((s32)(video::getBlue(v3->Color)<<8) - rightB) * tmpDiv);
rightTx = v2->TCoords.X; rightTx = v2->TCoords.X;
rightTy = v2->TCoords.Y; rightTy = v2->TCoords.Y;
...@@ -319,9 +319,9 @@ public: ...@@ -319,9 +319,9 @@ public:
leftR = video::getRed(v2->Color)<<8; leftR = video::getRed(v2->Color)<<8;
leftG = video::getGreen(v2->Color)<<8; leftG = video::getGreen(v2->Color)<<8;
leftB = video::getBlue(v2->Color)<<8; leftB = video::getBlue(v2->Color)<<8;
leftStepR = (s32)(((video::getRed(v3->Color)<<8) - leftR) * tmpDiv); leftStepR = (s32)(((s32)(video::getRed(v3->Color)<<8) - leftR) * tmpDiv);
leftStepG = (s32)(((video::getGreen(v3->Color)<<8) - leftG) * tmpDiv); leftStepG = (s32)(((s32)(video::getGreen(v3->Color)<<8) - leftG) * tmpDiv);
leftStepB = (s32)(((video::getBlue(v3->Color)<<8) - leftB) * tmpDiv); leftStepB = (s32)(((s32)(video::getBlue(v3->Color)<<8) - leftB) * tmpDiv);
leftTx = v2->TCoords.X; leftTx = v2->TCoords.X;
leftTy = v2->TCoords.Y; leftTy = v2->TCoords.Y;
......
...@@ -135,18 +135,18 @@ public: ...@@ -135,18 +135,18 @@ public:
tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y); tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y);
rightdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv; rightdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv;
rightZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv); rightZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv);
rightStepR = (s32)(((video::getRed(v2->Color)<<8) - rightR) * tmpDiv); rightStepR = (s32)(((s32)(video::getRed(v2->Color)<<8) - rightR) * tmpDiv);
rightStepG = (s32)(((video::getGreen(v2->Color)<<8) - rightG) * tmpDiv); rightStepG = (s32)(((s32)(video::getGreen(v2->Color)<<8) - rightG) * tmpDiv);
rightStepB = (s32)(((video::getBlue(v2->Color)<<8) - rightB) * tmpDiv); rightStepB = (s32)(((s32)(video::getBlue(v2->Color)<<8) - rightB) * tmpDiv);
rightTxStep = (s32)((v2->TCoords.X - rightTx) * tmpDiv); rightTxStep = (s32)((v2->TCoords.X - rightTx) * tmpDiv);
rightTyStep = (s32)((v2->TCoords.Y - rightTy) * tmpDiv); rightTyStep = (s32)((v2->TCoords.Y - rightTy) * tmpDiv);
tmpDiv = 1.0f / (f32)height; tmpDiv = 1.0f / (f32)height;
leftdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv; leftdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv;
leftZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv); leftZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv);
leftStepR = (s32)(((video::getRed(v3->Color)<<8) - leftR) * tmpDiv); leftStepR = (s32)(((s32)(video::getRed(v3->Color)<<8) - leftR) * tmpDiv);
leftStepG = (s32)(((video::getGreen(v3->Color)<<8) - leftG) * tmpDiv); leftStepG = (s32)(((s32)(video::getGreen(v3->Color)<<8) - leftG) * tmpDiv);
leftStepB = (s32)(((video::getBlue(v3->Color)<<8) - leftB) * tmpDiv); leftStepB = (s32)(((s32)(video::getBlue(v3->Color)<<8) - leftB) * tmpDiv);
leftTxStep = (s32)((v3->TCoords.X - leftTx) * tmpDiv); leftTxStep = (s32)((v3->TCoords.X - leftTx) * tmpDiv);
leftTyStep = (s32)((v3->TCoords.Y - leftTy) * tmpDiv); leftTyStep = (s32)((v3->TCoords.Y - leftTy) * tmpDiv);
} }
...@@ -155,18 +155,18 @@ public: ...@@ -155,18 +155,18 @@ public:
tmpDiv = 1.0f / (f32)height; tmpDiv = 1.0f / (f32)height;
rightdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv; rightdeltaxf = (v3->Pos.X - v1->Pos.X) * tmpDiv;
rightZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv); rightZStep = (s32)((v3->ZValue - v1->ZValue) * tmpDiv);
rightStepR = (s32)(((video::getRed(v3->Color)<<8) - rightR) * tmpDiv); rightStepR = (s32)(((s32)(video::getRed(v3->Color)<<8) - rightR) * tmpDiv);
rightStepG = (s32)(((video::getGreen(v3->Color)<<8) - rightG) * tmpDiv); rightStepG = (s32)(((s32)(video::getGreen(v3->Color)<<8) - rightG) * tmpDiv);
rightStepB = (s32)(((video::getBlue(v3->Color)<<8) - rightB) * tmpDiv); rightStepB = (s32)(((s32)(video::getBlue(v3->Color)<<8) - rightB) * tmpDiv);
rightTxStep = (s32)((v3->TCoords.X - rightTx) * tmpDiv); rightTxStep = (s32)((v3->TCoords.X - rightTx) * tmpDiv);
rightTyStep = (s32)((v3->TCoords.Y - rightTy) * tmpDiv); rightTyStep = (s32)((v3->TCoords.Y - rightTy) * tmpDiv);
tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y); tmpDiv = 1.0f / (f32)(v2->Pos.Y - v1->Pos.Y);
leftdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv; leftdeltaxf = (v2->Pos.X - v1->Pos.X) * tmpDiv;
leftZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv); leftZStep = (s32)((v2->ZValue - v1->ZValue) * tmpDiv);
leftStepR = (s32)(((video::getRed(v2->Color)<<8) - leftR) * tmpDiv); leftStepR = (s32)(((s32)(video::getRed(v2->Color)<<8) - leftR) * tmpDiv);
leftStepG = (s32)(((video::getGreen(v2->Color)<<8) - leftG) * tmpDiv); leftStepG = (s32)(((s32)(video::getGreen(v2->Color)<<8) - leftG) * tmpDiv);
leftStepB = (s32)(((video::getBlue(v2->Color)<<8) - leftB) * tmpDiv); leftStepB = (s32)(((s32)(video::getBlue(v2->Color)<<8) - leftB) * tmpDiv);
leftTxStep = (s32)((v2->TCoords.X - leftTx) * tmpDiv); leftTxStep = (s32)((v2->TCoords.X - leftTx) * tmpDiv);
leftTyStep = (s32)((v2->TCoords.Y - leftTy) * tmpDiv); leftTyStep = (s32)((v2->TCoords.Y - leftTy) * tmpDiv);
} }
...@@ -294,9 +294,9 @@ public: ...@@ -294,9 +294,9 @@ public:
rightR = video::getRed(v2->Color)<<8; rightR = video::getRed(v2->Color)<<8;
rightG = video::getGreen(v2->Color)<<8; rightG = video::getGreen(v2->Color)<<8;
rightB = video::getBlue(v2->Color)<<8; rightB = video::getBlue(v2->Color)<<8;
rightStepR = (s32)(((video::getRed(v3->Color)<<8) - rightR) * tmpDiv); rightStepR = (s32)(((s32)(video::getRed(v3->Color)<<8) - rightR) * tmpDiv);
rightStepG = (s32)(((video::getGreen(v3->Color)<<8) - rightG) * tmpDiv); rightStepG = (s32)(((s32)(video::getGreen(v3->Color)<<8) - rightG) * tmpDiv);
rightStepB = (s32)(((video::getBlue(v3->Color)<<8) - rightB) * tmpDiv); rightStepB = (s32)(((s32)(video::getBlue(v3->Color)<<8) - rightB) * tmpDiv);
rightTx = v2->TCoords.X; rightTx = v2->TCoords.X;
rightTy = v2->TCoords.Y; rightTy = v2->TCoords.Y;
...@@ -316,9 +316,9 @@ public: ...@@ -316,9 +316,9 @@ public:
leftR = video::getRed(v2->Color)<<8; leftR = video::getRed(v2->Color)<<8;
leftG = video::getGreen(v2->Color)<<8; leftG = video::getGreen(v2->Color)<<8;
leftB = video::getBlue(v2->Color)<<8; leftB = video::getBlue(v2->Color)<<8;
leftStepR = (s32)(((video::getRed(v3->Color)<<8) - leftR) * tmpDiv); leftStepR = (s32)(((s32)(video::getRed(v3->Color)<<8) - leftR) * tmpDiv);
leftStepG = (s32)(((video::getGreen(v3->Color)<<8) - leftG) * tmpDiv); leftStepG = (s32)(((s32)(video::getGreen(v3->Color)<<8) - leftG) * tmpDiv);
leftStepB = (s32)(((video::getBlue(v3->Color)<<8) - leftB) * tmpDiv); leftStepB = (s32)(((s32)(video::getBlue(v3->Color)<<8) - leftB) * tmpDiv);
leftTx = v2->TCoords.X; leftTx = v2->TCoords.X;
leftTy = v2->TCoords.Y; leftTy = v2->TCoords.Y;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment