diff options
author | chai <chaifix@163.com> | 2018-10-31 20:44:20 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-10-31 20:44:20 +0800 |
commit | c734eb129d24a5ed6dcad8fa8fd1bdb3352f1257 (patch) | |
tree | c058b0b12acfdc26b612465534b30b059f0231d4 | |
parent | a6868deda1af419822d1610c0ca8b81413519393 (diff) |
*更新渲染模块
-rw-r--r-- | bin/Jin.exe | bin | 843264 -> 867840 bytes | |||
-rw-r--r-- | src/libjin/Graphics/fonts/je_texture_font.cpp | 4 | ||||
-rw-r--r-- | src/libjin/Graphics/fonts/je_ttf.cpp | 4 | ||||
-rw-r--r-- | src/libjin/Graphics/je_graphic.cpp | 8 | ||||
-rw-r--r-- | src/libjin/Graphics/je_shapes.cpp | 10 | ||||
-rw-r--r-- | src/libjin/Graphics/shaders/je_base.shader.h | 3 | ||||
-rw-r--r-- | src/libjin/Graphics/shaders/je_shader.cpp | 4 | ||||
-rw-r--r-- | src/libjin/Graphics/shaders/je_shader.h | 4 | ||||
-rw-r--r-- | src/lua/embed/graphics.lua.h | 2 | ||||
-rw-r--r-- | src/lua/modules/graphics/je_lua_graphics.cpp | 4 | ||||
-rw-r--r-- | src/lua/modules/mouse/je_lua_mouse.cpp | 6 |
11 files changed, 25 insertions, 24 deletions
diff --git a/bin/Jin.exe b/bin/Jin.exe Binary files differindex 50e9e23..a502248 100644 --- a/bin/Jin.exe +++ b/bin/Jin.exe diff --git a/src/libjin/Graphics/fonts/je_texture_font.cpp b/src/libjin/Graphics/fonts/je_texture_font.cpp index 6404b16..71442dd 100644 --- a/src/libjin/Graphics/fonts/je_texture_font.cpp +++ b/src/libjin/Graphics/fonts/je_texture_font.cpp @@ -226,8 +226,8 @@ namespace JinEngine for (int i = 0; i < glyphinfolist.size(); ++i) { const GlyphArrayDrawInfo& info = glyphinfolist[i]; - shader->bindVertexPointer(2, GL_INT, sizeof(GlyphVertex), &glyphvertices[info.start].x); - shader->bindUVPointer(2, GL_FLOAT, sizeof(GlyphVertex), &glyphvertices[info.start].u); + shader->setVertexPointer(2, GL_INT, sizeof(GlyphVertex), &glyphvertices[info.start].x); + shader->setUVPointer(2, GL_FLOAT, sizeof(GlyphVertex), &glyphvertices[info.start].u); gl.bindTexture(info.texture); gl.drawArrays(GL_QUADS, 0, info.count); gl.bindTexture(0); diff --git a/src/libjin/Graphics/fonts/je_ttf.cpp b/src/libjin/Graphics/fonts/je_ttf.cpp index 3d0a02f..f8d70e7 100644 --- a/src/libjin/Graphics/fonts/je_ttf.cpp +++ b/src/libjin/Graphics/fonts/je_ttf.cpp @@ -314,8 +314,8 @@ namespace JinEngine for (int i = 0; i < glyphinfolist.size(); ++i) { const GlyphArrayDrawInfo& info = glyphinfolist[i]; - shader->bindVertexPointer(2, GL_INT, sizeof(GlyphVertex), &glyphvertices[info.start].x); - shader->bindUVPointer(2, GL_FLOAT, sizeof(GlyphVertex), &glyphvertices[info.start].u); + shader->setVertexPointer(2, GL_INT, sizeof(GlyphVertex), &glyphvertices[info.start].x); + shader->setUVPointer(2, GL_FLOAT, sizeof(GlyphVertex), &glyphvertices[info.start].u); gl.bindTexture(info.texture); gl.drawArrays(GL_QUADS, 0, info.count); gl.bindTexture(0); diff --git a/src/libjin/Graphics/je_graphic.cpp b/src/libjin/Graphics/je_graphic.cpp index 5df202f..73d46b3 100644 --- a/src/libjin/Graphics/je_graphic.cpp +++ b/src/libjin/Graphics/je_graphic.cpp @@ -63,8 +63,8 @@ namespace JinEngine Shader* shader = Shader::getCurrentShader(); shader->sendMatrix4(SHADER_MODEL_MATRIX, &gl.ModelMatrix); shader->sendMatrix4(SHADER_PROJECTION_MATRIX, &gl.ProjectionMatrix); - shader->bindVertexPointer(2, GL_FLOAT, 0, vertexCoords); - shader->bindUVPointer(2, GL_FLOAT, 0, textureCoords); + shader->setVertexPointer(2, GL_FLOAT, 0, vertexCoords); + shader->setUVPointer(2, GL_FLOAT, 0, textureCoords); gl.bindTexture(getGLTexture()); gl.drawArrays(GL_QUADS, 0, 4); @@ -96,8 +96,8 @@ namespace JinEngine Shader* shader = Shader::getCurrentShader(); shader->sendMatrix4(SHADER_MODEL_MATRIX, &gl.ModelMatrix); shader->sendMatrix4(SHADER_PROJECTION_MATRIX, &gl.ProjectionMatrix); - shader->bindVertexPointer(2, GL_FLOAT, 0, vertexCoords); - shader->bindUVPointer(2, GL_FLOAT, 0, textureCoords); + shader->setVertexPointer(2, GL_FLOAT, 0, vertexCoords); + shader->setUVPointer(2, GL_FLOAT, 0, textureCoords); gl.bindTexture(getGLTexture()); gl.drawArrays(GL_QUADS, 0, 4); diff --git a/src/libjin/Graphics/je_shapes.cpp b/src/libjin/Graphics/je_shapes.cpp index f15300d..9859072 100644 --- a/src/libjin/Graphics/je_shapes.cpp +++ b/src/libjin/Graphics/je_shapes.cpp @@ -23,7 +23,7 @@ namespace JinEngine float verts[] = { x + 0.5f , y + 0.5f }; Shader* shader = Shader::getCurrentShader(); - shader->bindVertexPointer(2, GL_FLOAT, 0, verts); + shader->setVertexPointer(2, GL_FLOAT, 0, verts); gl.ModelMatrix.setIdentity(); shader->sendMatrix4(SHADER_MODEL_MATRIX, &gl.ModelMatrix); shader->sendMatrix4(SHADER_PROJECTION_MATRIX, &gl.ProjectionMatrix); @@ -34,7 +34,7 @@ namespace JinEngine void points(int n, GLshort* p) { Shader* shader = Shader::getCurrentShader(); - shader->bindVertexPointer(2, GL_SHORT, 0, p); + shader->setVertexPointer(2, GL_SHORT, 0, p); gl.ModelMatrix.setIdentity(); shader->sendMatrix4(SHADER_MODEL_MATRIX, &gl.ModelMatrix); shader->sendMatrix4(SHADER_PROJECTION_MATRIX, &gl.ProjectionMatrix); @@ -50,7 +50,7 @@ namespace JinEngine }; Shader* shader = Shader::getCurrentShader(); - shader->bindVertexPointer(2, GL_FLOAT, 0, verts); + shader->setVertexPointer(2, GL_FLOAT, 0, verts); gl.ModelMatrix.setIdentity(); shader->sendMatrix4(SHADER_MODEL_MATRIX, &gl.ModelMatrix); shader->sendMatrix4(SHADER_PROJECTION_MATRIX, &gl.ProjectionMatrix); @@ -101,7 +101,7 @@ namespace JinEngine gl.ModelMatrix.setIdentity(); shader->sendMatrix4(SHADER_MODEL_MATRIX, &gl.ModelMatrix); shader->sendMatrix4(SHADER_PROJECTION_MATRIX, &gl.ProjectionMatrix); - shader->bindVertexPointer(2, GL_FLOAT, 0, p); + shader->setVertexPointer(2, GL_FLOAT, 0, p); glDrawArrays(GL_LINE_LOOP, 0, count); } @@ -118,7 +118,7 @@ namespace JinEngine gl.ModelMatrix.setIdentity(); shader->sendMatrix4(SHADER_MODEL_MATRIX, &gl.ModelMatrix); shader->sendMatrix4(SHADER_PROJECTION_MATRIX, &gl.ProjectionMatrix); - shader->bindVertexPointer(2, GL_FLOAT, 0, p); + shader->setVertexPointer(2, GL_FLOAT, 0, p); glDrawArrays(GL_POLYGON, 0, count); } diff --git a/src/libjin/Graphics/shaders/je_base.shader.h b/src/libjin/Graphics/shaders/je_base.shader.h index e5ca2c3..88fa872 100644 --- a/src/libjin/Graphics/shaders/je_base.shader.h +++ b/src/libjin/Graphics/shaders/je_base.shader.h @@ -26,8 +26,9 @@ static const char* base_vertex = R"( #version 130 core %s - +// Projection matrix uniform mat4 jin_ProjectionMatrix; +// Model view matrix uniform mat4 jin_ModelMatrix; in vec2 jin_VertexCoords; diff --git a/src/libjin/Graphics/shaders/je_shader.cpp b/src/libjin/Graphics/shaders/je_shader.cpp index 3eae5c7..c1abbf0 100644 --- a/src/libjin/Graphics/shaders/je_shader.cpp +++ b/src/libjin/Graphics/shaders/je_shader.cpp @@ -260,14 +260,14 @@ if (success == GL_FALSE) \ glUniformMatrix4fv(loc, 1, GL_FALSE, mat4->getElements()); } - void Shader::bindVertexPointer(int n, GLenum type, GLsizei stride, const GLvoid * pointers) + void Shader::setVertexPointer(int n, GLenum type, GLsizei stride, const GLvoid * pointers) { GLint loc = glGetAttribLocation(mPID, SHADER_VERTEX_COORDS); glEnableVertexAttribArray(0); glVertexAttribPointer(loc, n, type, GL_FALSE, stride, pointers); } - void Shader::bindUVPointer(int n, GLenum type, GLsizei stride, const GLvoid * pointers) + void Shader::setUVPointer(int n, GLenum type, GLsizei stride, const GLvoid * pointers) { GLint loc = glGetAttribLocation(mPID, SHADER_TEXTURE_COORDS); glEnableVertexAttribArray(1); diff --git a/src/libjin/Graphics/shaders/je_shader.h b/src/libjin/Graphics/shaders/je_shader.h index 09cda51..d89b827 100644 --- a/src/libjin/Graphics/shaders/je_shader.h +++ b/src/libjin/Graphics/shaders/je_shader.h @@ -146,7 +146,7 @@ namespace JinEngine /// @param stride Byte offset between consecutive generic vertex attributes. /// @param pointers Pointer to the first component of the first generic vertex attribute in the array. /// - void bindVertexPointer(int n, GLenum type, GLsizei stride, const GLvoid * pointers); + void setVertexPointer(int n, GLenum type, GLsizei stride, const GLvoid * pointers); /// /// Set texture UV coordinates. @@ -156,7 +156,7 @@ namespace JinEngine /// @param stride Byte offset between consecutive generic vertex attributes. /// @param pointers Pointer to the first component of the first generic vertex attribute in the array. /// - void bindUVPointer(int n, GLenum type, GLsizei stride, const GLvoid * pointers); + void setUVPointer(int n, GLenum type, GLsizei stride, const GLvoid * pointers); protected: /// diff --git a/src/lua/embed/graphics.lua.h b/src/lua/embed/graphics.lua.h index b2a19b5..671cacd 100644 --- a/src/lua/embed/graphics.lua.h +++ b/src/lua/embed/graphics.lua.h @@ -17,7 +17,7 @@ Vertex vert(Vertex v) Color frag(Color col, Texture tex, Vertex v) { - return col * texel(tex, v.uv); + return col; } #END_FRAGMENT_SHADER diff --git a/src/lua/modules/graphics/je_lua_graphics.cpp b/src/lua/modules/graphics/je_lua_graphics.cpp index a2157b6..6324e00 100644 --- a/src/lua/modules/graphics/je_lua_graphics.cpp +++ b/src/lua/modules/graphics/je_lua_graphics.cpp @@ -196,7 +196,7 @@ namespace JinEngine AssetDatabase* fs = AssetDatabase::get(); if (!fs->exists(path)) { - error(L, "No such shader file \"%s\"\n", path); + error(L, "No such shader file \"%s\"", path); luax_pushnil(L); return 1; } @@ -623,7 +623,7 @@ namespace JinEngine AssetDatabase* fs = AssetDatabase::get(); if (!fs->exists(path)) { - error(L, "No such font %s\n", path); + error(L, "No such font \"%s\"", path); luax_pushnil(L); return 1; } diff --git a/src/lua/modules/mouse/je_lua_mouse.cpp b/src/lua/modules/mouse/je_lua_mouse.cpp index 88638d2..d6c84e7 100644 --- a/src/lua/modules/mouse/je_lua_mouse.cpp +++ b/src/lua/modules/mouse/je_lua_mouse.cpp @@ -28,9 +28,9 @@ namespace JinEngine } LUA_IMPLEMENT const luaL_Reg f[] = { - { "position", l_pos }, - { "setVisible", l_setVisible }, - { 0, 0 } + { "getPosition", l_pos }, + { "setVisible", l_setVisible }, + { 0, 0 } }; LUA_EXPORT int luaopen_mouse(lua_State* L) |