60 mErrorIf(CurStackDepth == 0,
"No matrices to pop!");
62 GLContext.GetImmDrawContext().SetVertexXformValid(
false);
67 mErrorIf(CurStackDepth == MaxStackDepth - 1,
69 Matrices[CurStackDepth + 1] = Matrices[CurStackDepth];
70 InverseMatrices[CurStackDepth + 1] = InverseMatrices[CurStackDepth];
74 void Concat(
const cpu_mat_44& xform,
const cpu_mat_44& inverse)
76 cpu_mat_44& curMat = Matrices[CurStackDepth];
77 cpu_mat_44& curInv = InverseMatrices[CurStackDepth];
78 curMat = curMat * xform;
79 curInv = inverse * curInv;
80 GLContext.GetImmDrawContext().SetVertexXformValid(
false);
83 void SetTop(
const cpu_mat_44& newMat,
const cpu_mat_44& newInv)
85 Matrices[CurStackDepth] = newMat;
86 InverseMatrices[CurStackDepth] = newInv;
87 GLContext.GetImmDrawContext().SetVertexXformValid(
false);
90 const cpu_mat_44& GetTop()
const {
return Matrices[CurStackDepth]; }
91 const cpu_mat_44& GetInvTop()
const {
return InverseMatrices[CurStackDepth]; }