使?矩陣堆棧
//類型
GLMatrixStack::GLMatrixStack(int iStackDepth = 64);
//在堆棧頂部載??個單元矩陣
void GLMatrixStack::LoadIdentity(void);
//在堆棧頂部載入任何矩陣
//參數(shù):4*4矩陣
void GLMatrixStack::LoadMatrix(const M3DMatrix44f m);
//矩陣乘以矩陣堆棧頂部矩陣,相乘結(jié)果存儲到堆棧的頂部
void GLMatrixStack::MultMatrix(const M3DMatrix44f);
//獲取矩陣堆棧頂部的值 GetMatrix 函數(shù)
//為了了適應(yīng)GLShaderMananger的使?,或者獲取頂部矩陣的副本
const M3DMatrix44f & GLMatrixStack::GetMatrix(void);
void GLMatrixStack::GetMatrix(M3DMatrix44f mMatrix);
壓棧.出棧
壓棧: 存儲一個狀態(tài)
出棧: 恢復(fù)?個狀態(tài)
//將當前矩陣壓?堆棧
void GLMatrixStack::PushMatrix(void);
//將M3DMatrix44f 矩陣對象壓入當前矩陣堆棧
void PushMatrix(const M3DMatrix44f mMatrix);
//將GLFame 對象壓入矩陣對象
void PushMatrix(GLFame &frame);
//出棧(出棧指的是移除頂部的矩陣對象)
void GLMatrixStack::PopMatrix(void);
仿射變換
//Rotate 函數(shù)angle參數(shù)是傳遞的度數(shù),?不是弧度
void MatrixStack::Rotate(GLfloat angle,GLfloat x,GLfloat y,GLfloat z);
void MatrixStack::Translate(GLfloat x,GLfloat y,GLfloat z);
void MatrixStack::Scale(GLfloat x,GLfloat y,GLfloat z);