aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/graphics/je_mesh.cpp
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-01-12 21:48:33 +0800
committerchai <chaifix@163.com>2019-01-12 21:48:33 +0800
commit8b00d67febf133e89f6a0bfabc41feed555dc4a9 (patch)
treefe48ef17c250afa40c2588300fcdb5920dba6951 /src/libjin/graphics/je_mesh.cpp
parenta907c39756ef6b368d06643afa491c49a9044a8e (diff)
*去掉文件前缀je_
Diffstat (limited to 'src/libjin/graphics/je_mesh.cpp')
-rw-r--r--src/libjin/graphics/je_mesh.cpp78
1 files changed, 0 insertions, 78 deletions
diff --git a/src/libjin/graphics/je_mesh.cpp b/src/libjin/graphics/je_mesh.cpp
deleted file mode 100644
index dc67f1e..0000000
--- a/src/libjin/graphics/je_mesh.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-#include "../math/je_math.h"
-
-#include "je_mesh.h"
-#include "shaders/je_shader.h"
-
-using namespace JinEngine::Math;
-using namespace JinEngine::Graphics::Shaders;
-
-namespace JinEngine
-{
- namespace Graphics
- {
-
- Mesh::Mesh()
- : mGraphic(nullptr)
- {
- }
-
- void Mesh::setGraphic(const Graphic* graphic)
- {
- mGraphic = graphic;
- }
-
- void Mesh::pushVertex(float x, float y, float u, float v, Color color)
- {
- Vertex vert;
- vert.xy.x() = x; vert.xy.y() = y;
- vert.uv.u() = u; vert.uv.v() = v;
- vert.color = color;
- pushVertex(vert);
- }
-
- void Mesh::pushVertex(const Vertex& vert)
- {
- mVertices.push_back(vert);
- // Update bound
- if (mVertices.size() == 2)
- {
- const Vertex& v0 = mVertices[0];
- mBound.l = min(v0.xy.x(), vert.xy.x());
- mBound.r = max(v0.xy.x(), vert.xy.x());
- mBound.t = min(v0.xy.y(), vert.xy.y());
- mBound.b = max(v0.xy.y(), vert.xy.y());
- }
- else
- {
- float x = vert.xy.x(), y = vert.xy.y();
- mBound.l = x < mBound.l ? x : mBound.l;
- mBound.r = x > mBound.r ? x : mBound.r;
- mBound.t = y < mBound.t ? y : mBound.t;
- mBound.b = y > mBound.b ? y : mBound.b;
- }
- }
-
- void Mesh::render(float x, float y, float sx, float sy, float r, float ox, float oy) const
- {
- if (mGraphic == nullptr || mVertices.size() == 0)
- return;
-
- Math::Matrix modelViewMatrix = gl.getModelViewMatrix(x, y, sx, sy, r, ox, oy);
-
- Shader* shader = gl.getShader();
- shader->begin()
- .sendMatrix4(SHADER_MODELVIEW_MATRIX, &modelViewMatrix)
- .sendMatrix4(SHADER_PROJECTION_MATRIX, &gl.getProjectionMatrix())
- .uploadVertices(2, GL_FLOAT, sizeof(Vertex), &(mVertices[0].xy))
- .uploadUV(2, GL_FLOAT, sizeof(Vertex), &(mVertices[0].uv))
- .uploadColor(4, GL_UNSIGNED_BYTE, sizeof(Vertex), &(mVertices[0].color), GL_TRUE);
-
- gl.bindTexture2D(mGraphic->getGLTexture());
- gl.drawArrays(GL_POLYGON, 0, mVertices.size());
-
-
- shader->end();
- };
-
- } // namespace Graphics
-} // namespace JinEngine \ No newline at end of file