diff options
Diffstat (limited to 'source/modules/asura-core/graphics/matrix_stack.h')
-rw-r--r-- | source/modules/asura-core/graphics/matrix_stack.h | 73 |
1 files changed, 36 insertions, 37 deletions
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 <asura-utils/type.h> #include <asura-utils/math/matrix44.h> +#include <asura-utils/classes.h> -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<uint _capacity> MatrixStack - /// - class MatrixStack - { - public: +/// +/// ջ״ָ̬֮ǰ״̬ջеһstack[i]ֵstack[0]*..*stack[i-1] +/// ֵһϵtransform +/// +/// TODO: template<uint _capacity> 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 |