diff options
Diffstat (limited to 'source/modules/asura-core/graphics/matrix_stack.h')
-rw-r--r-- | source/modules/asura-core/graphics/matrix_stack.h | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/source/modules/asura-core/graphics/matrix_stack.h b/source/modules/asura-core/graphics/matrix_stack.h deleted file mode 100644 index ad32bb4..0000000 --- a/source/modules/asura-core/graphics/matrix_stack.h +++ /dev/null @@ -1,58 +0,0 @@ -#ifndef __ASURA_MATRIX_STACK_H__ -#define __ASURA_MATRIX_STACK_H__ - -#include <asura-utils/type.h> -#include <asura-utils/math/matrix44.h> -#include <asura-utils/classes.h> - -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: - - MatrixStack(); - ~MatrixStack(); - - void LoadIdentity(); - bool Push(); - bool Pop(); - - AEMath::Matrix44& GetTop(); - void GetTop(ASURA_OUT 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 Ortho(float l, float r, float b, float t, float n, float f); - - uint GetTopIndex(); - uint GetCapacity(); - -private: - - AEMath::Matrix44 m_Stack[ASURA_MAX_MATRIX_STACK_DEPTH]; - uint8 top; - -}; - -namespace_end -namespace_end - -#endif
\ No newline at end of file |