From 084623519e95f0ab0cf4bc328b5fa736d679c5bd Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 31 Jul 2019 21:35:12 +0800 Subject: =?UTF-8?q?*=E4=BF=AE=E6=94=B9=E5=90=8D=E7=A7=B0=E7=A9=BA=E9=97=B4?= =?UTF-8?q?=E9=A3=8E=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/modules/asura-core/graphics/matrix_stack.h | 73 +++++++++++------------ 1 file changed, 36 insertions(+), 37 deletions(-) (limited to 'source/modules/asura-core/graphics/matrix_stack.h') diff --git a/source/modules/asura-core/graphics/matrix_stack.h b/source/modules/asura-core/graphics/matrix_stack.h index 67401d0..ad32bb4 100644 --- a/source/modules/asura-core/graphics/matrix_stack.h +++ b/source/modules/asura-core/graphics/matrix_stack.h @@ -3,57 +3,56 @@ #include #include +#include -namespace AsuraEngine -{ - namespace Graphics - { +namespace_begin(AsuraEngine) +namespace_begin(Graphics) - /// - /// 栈的矩阵深度。 - /// +/// +/// 栈的矩阵深度。 +/// #define ASURA_MAX_MATRIX_STACK_DEPTH 32 // 2KB - /// - /// 保存栈状态,用来恢复之前的状态。栈中的一个矩阵stack[i]的值是stack[0]*..*stack[i-1] - /// 的值,并附加一系列transform。 - /// - /// TODO: template MatrixStack - /// - class MatrixStack - { - public: +/// +/// 保存栈状态,用来恢复之前的状态。栈中的一个矩阵stack[i]的值是stack[0]*..*stack[i-1] +/// 的值,并附加一系列transform。 +/// +/// TODO: template MatrixStack +/// +class MatrixStack +{ +public: - MatrixStack(); - ~MatrixStack(); + MatrixStack(); + ~MatrixStack(); - void LoadIdentity(); - bool Push(); - bool Pop(); + void LoadIdentity(); + bool Push(); + bool Pop(); - AEMath::Matrix44& GetTop(); - void GetTop(ASURA_OUT AEMath::Matrix44& mat44); + AEMath::Matrix44& GetTop(); + void GetTop(ASURA_OUT AEMath::Matrix44& mat44); - void LoadMatrix(const AEMath::Matrix44& mat44); - void MultMatrix(const AEMath::Matrix44& mat44); + void LoadMatrix(const AEMath::Matrix44& mat44); + void MultMatrix(const AEMath::Matrix44& mat44); - void Rotate(float angle); - void Translate(float x, float y); - void Scale(float x, float y); + void Rotate(float angle); + void Translate(float x, float y); + void Scale(float x, float y); - void Ortho(float l, float r, float b, float t, float n, float f); + void Ortho(float l, float r, float b, float t, float n, float f); - uint GetTopIndex(); - uint GetCapacity(); + uint GetTopIndex(); + uint GetCapacity(); - private: +private: - AEMath::Matrix44 m_Stack[ASURA_MAX_MATRIX_STACK_DEPTH]; - uint8 top; + AEMath::Matrix44 m_Stack[ASURA_MAX_MATRIX_STACK_DEPTH]; + uint8 top; - }; +}; - } -} +namespace_end +namespace_end #endif \ No newline at end of file -- cgit v1.1-26-g67d0