矩阵堆栈的作用?
矩阵堆栈只是保存变化的状态。
GLMatrixStack::GLMatrixStack(int isStackDepth = 64);
初始化矩阵堆栈,深度64,初始化的时候会默认在栈顶初始化一个单元矩阵。
void GLMatrixStack::LoadIdentity(void);
在栈顶加载一个单元矩阵
void GLMatrixStack::LoadMatrix(const M3DMatrix44f m);
在栈顶加载一个矩阵
void GLMatrixStack::MultMatrix(const M3DMatrix44f);
矩阵乘以栈顶的矩阵,相乘结果存储到堆栈的顶部。
{A,B,C} * D -> {A,B,C*D}
const M3DMatrix44f & GLMatrixStack::GetMatrix(void);
void GLMatrixStack::GetMatrix(M3DMatrix44f mMatrix);
获取栈顶的矩阵
void GLMatrixStack::PushMatrix(void);
copy一份当前矩阵堆栈的栈顶矩阵并放到栈顶。
{A,B,C} -> {A,B,C,C}
void PushMatrix(const M3DMatrix44f mMatrix);
将mMatrix矩阵压入当前矩阵堆栈。
{A,B,C} -> {A,B,C,D}
void PushMatrix(GLFame &frame);
将GLFame转成矩阵并压入当前矩阵堆栈。
void GLMatrixStack::PopMatrix(void);
出栈。