Software rasterizer: Fix skinning transforms

This commit is contained in:
Henrik Rydgard 2015-06-11 17:00:44 +02:00
parent 842817c91d
commit 8ec48507f1
2 changed files with 4 additions and 4 deletions

View file

@ -777,7 +777,7 @@ void SoftGPU::ExecuteOp(u32 op, u32 diff)
break;
case GE_CMD_WORLDMATRIXNUMBER:
gstate.worldmtxnum = data&0xF;
gstate.worldmtxnum = data & 0xF;
break;
case GE_CMD_WORLDMATRIXDATA:
@ -791,7 +791,7 @@ void SoftGPU::ExecuteOp(u32 op, u32 diff)
break;
case GE_CMD_VIEWMATRIXNUMBER:
gstate.viewmtxnum = data&0xF;
gstate.viewmtxnum = data & 0xF;
break;
case GE_CMD_VIEWMATRIXDATA:
@ -805,7 +805,7 @@ void SoftGPU::ExecuteOp(u32 op, u32 diff)
break;
case GE_CMD_PROJMATRIXNUMBER:
gstate.projmtxnum = data&0xF;
gstate.projmtxnum = data & 0xF;
break;
case GE_CMD_PROJMATRIXDATA:

View file

@ -141,7 +141,7 @@ VertexData TransformUnit::ReadVertex(VertexReader& vreader)
for (int i = 0; i < vertTypeGetNumBoneWeights(gstate.vertType); ++i) {
Mat3x3<float> bone(&gstate.boneMatrix[12*i]);
tmppos += (bone * ModelCoords(pos[0], pos[1], pos[2]) * W[i] + Vec3<float>(gstate.boneMatrix[12*i+9], gstate.boneMatrix[12*i+10], gstate.boneMatrix[12*i+11]));
tmppos += (bone * ModelCoords(pos[0], pos[1], pos[2]) + Vec3<float>(gstate.boneMatrix[12*i+9], gstate.boneMatrix[12*i+10], gstate.boneMatrix[12*i+11])) * W[i];
if (vreader.hasNormal())
tmpnrm += (bone * vertex.normal) * W[i];
}