summaryrefslogtreecommitdiff
path: root/source/modules/asura-core/graphics/gfx_device.cpp
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-08-02 20:51:00 +0800
committerchai <chaifix@163.com>2019-08-02 20:51:00 +0800
commitbad78945ceba425f6a80e3b8dca2414d592970eb (patch)
tree8bf7540766349c534bf9e5746b24fd7507ba034e /source/modules/asura-core/graphics/gfx_device.cpp
parent99b90496765df21c5f377f42b9ed073ccb34c1fd (diff)
*修改文件名格式
Diffstat (limited to 'source/modules/asura-core/graphics/gfx_device.cpp')
-rw-r--r--source/modules/asura-core/graphics/gfx_device.cpp208
1 files changed, 0 insertions, 208 deletions
diff --git a/source/modules/asura-core/graphics/gfx_device.cpp b/source/modules/asura-core/graphics/gfx_device.cpp
deleted file mode 100644
index 2751a9d..0000000
--- a/source/modules/asura-core/graphics/gfx_device.cpp
+++ /dev/null
@@ -1,208 +0,0 @@
-#include <asura-utils/type.h>
-
-#include "../core_config.h"
-
-#include "gfx_device.h"
-#include "shader.h"
-#include "matrix_stack.h"
-#include "color.h"
-
-using namespace AEMath;
-
-namespace_begin(AsuraEngine)
-namespace_begin(Graphics)
-
-#if ASURA_DEBUG
-static bool instantiated = false;
-#endif
-
-GfxDevice g_Device;
-
-GfxDevice::GfxDevice()
-{
-#if ASURA_DEBUG
- ASSERT(!instantiated);
- instantiated = true;
-#endif
-}
-
-GfxDevice::~GfxDevice()
-{
-}
-
-GfxDevice& GfxDevice::Get()
-{
- return g_Device;
-}
-
-static bool inited = false;
-
-bool GfxDevice::Init(const AEMath::Recti& view)
-{
- bool loaded = false;
-#if ASURA_OPENGL_LOADER & ASURA_OPENGL_GLAD
- if (!loaded)
- loaded = gladLoadGL();
-#endif
- if (!loaded)
- return false;
- SetViewport(view);
-
- inited = true;
- return true;
-}
-
-bool GfxDevice::Inited()
-{
- return inited;
-}
-
-void GfxDevice::WipeError()
-{
- while (glGetError() != GL_NO_ERROR);
-}
-
-bool GfxDevice::HasError()
-{
- return glGetError() != GL_NO_ERROR;
-}
-
-GLenum GfxDevice::GetError()
-{
- return glGetError();
-}
-
-void GfxDevice::SetDrawColor(float r, float g, float b, float a)
-{
- state.drawColor.Set(r, g, b, a);
-}
-
-Color& GfxDevice::GetDrawColor()
-{
- return state.drawColor;
-}
-
-Canvas* GfxDevice::GetActiveCanvas() const
-{
- return state.canvas;
-}
-
-void GfxDevice::SetActiveCanvas(Canvas* canvas)
-{
- state.canvas = canvas;
-}
-
-void GfxDevice::SetViewport(const Recti v)
-{
- state.viewport = v;
- glViewport(v.x, v.y, v.w, v.h);
-}
-
-const Recti& GfxDevice::GetViewport()
-{
- return state.viewport;
-}
-
-void GfxDevice::SetActiveShader(Shader* shader)
-{
- if (state.shader == shader)
- return;
- if (state.shader)
- state.shader->OnDisable();
- state.shader = shader;
- if (shader)
- {
- GLint program = shader->GetGLProgram();
- glUseProgram(program);
-#if ASURA_GL_PROFILE
- ++stats.shaderSwitch;
-#endif
- shader->OnEnable();
- }
-}
-
-Shader* GfxDevice::GetActiveShader() const
-{
- return state.shader;
-}
-
-void GfxDevice::DrawArrays(GLenum mode, GLint first, GLsizei count)
-{
- glDrawArrays(mode, first, count);
-#if ASURA_GL_PROFILE
- ++stats.drawCall;
-#endif
- if (state.shader)
- state.shader->OnUsed();
-}
-
-void GfxDevice::SetMatrixMode (MatrixMode mode)
-{
- state.matrixMode = mode;
-}
-
-MatrixMode GfxDevice::GetMatrixMode ()
-{
- return state.matrixMode;
-}
-
-void GfxDevice::PushMatrix ()
-{
- state.matrix[state.matrixMode].Push ();
-}
-
-void GfxDevice::PopMatrix ()
-{
- state.matrix[state.matrixMode].Pop();
-}
-
-void GfxDevice::LoadIdentity()
-{
- state.matrix[state.matrixMode].LoadIdentity();
-}
-
-void GfxDevice::Rotate (float angle)
-{
- state.matrix[state.matrixMode].Rotate(angle);
-}
-
-void GfxDevice::Translate (float x, float y)
-{
- state.matrix[state.matrixMode].Translate(x, y);
-}
-
-void GfxDevice::Scale (float x, float y)
-{
- state.matrix[state.matrixMode].Scale(x, y);
-}
-
-void GfxDevice::Ortho(float l, float r, float b, float t, float n, float f)
-{
- state.matrix[state.matrixMode].Ortho(l, r, b, t, n, f);
-}
-
-AEMath::Matrix44& GfxDevice::GetMatrix(MatrixMode mode)
-{
- return state.matrix[mode].GetTop();
-}
-
-AEMath::Matrix44 GfxDevice::GetMVPMatrix()
-{
- return state.matrix[MATRIX_MODE_PROJECTION].GetTop()
- * state.matrix[MATRIX_MODE_VIEW].GetTop()
- * state.matrix[MATRIX_MODE_MODEL].GetTop();
-}
-
-uint GfxDevice::GetMatrixDepth()
-{
- return state.matrix[state.matrixMode].GetCapacity();
-}
-
-uint GfxDevice::GetMatrixIndex()
-{
- return state.matrix[state.matrixMode].GetTopIndex();
-}
-
-
-namespace_end
-namespace_end \ No newline at end of file