diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2016-06-18 15:32:49 +0300 |
---|---|---|
committer | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2016-06-20 13:24:20 +0300 |
commit | 76fc07c606fa62fefc1e2aa435a51a8b5fd384cd (patch) | |
tree | f95d3a09f6f58df952340809b104e25a6fb033a7 /src | |
parent | 760a692378a8ae7c9cc87246c10f2fe9a64117bd (diff) | |
download | qtlocation-mapboxgl-76fc07c606fa62fefc1e2aa435a51a8b5fd384cd.tar.gz |
[core] Autogenerate Shader name
Diffstat (limited to 'src')
-rw-r--r-- | src/mbgl/geometry/vao.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/geometry/vao.hpp | 12 | ||||
-rw-r--r-- | src/mbgl/shader/circle_shader.cpp | 5 | ||||
-rw-r--r-- | src/mbgl/shader/collision_box_shader.cpp | 5 | ||||
-rw-r--r-- | src/mbgl/shader/icon_shader.cpp | 5 | ||||
-rw-r--r-- | src/mbgl/shader/line_shader.cpp | 5 | ||||
-rw-r--r-- | src/mbgl/shader/linepattern_shader.cpp | 5 | ||||
-rw-r--r-- | src/mbgl/shader/linesdf_shader.cpp | 5 | ||||
-rw-r--r-- | src/mbgl/shader/outline_shader.cpp | 5 | ||||
-rw-r--r-- | src/mbgl/shader/outlinepattern_shader.cpp | 9 | ||||
-rw-r--r-- | src/mbgl/shader/pattern_shader.cpp | 9 | ||||
-rw-r--r-- | src/mbgl/shader/plain_shader.cpp | 5 | ||||
-rw-r--r-- | src/mbgl/shader/raster_shader.cpp | 5 | ||||
-rw-r--r-- | src/mbgl/shader/sdf_shader.cpp | 5 | ||||
-rw-r--r-- | src/mbgl/shader/shader.cpp | 10 | ||||
-rw-r--r-- | src/mbgl/shader/shader.hpp | 5 |
16 files changed, 37 insertions, 60 deletions
diff --git a/src/mbgl/geometry/vao.cpp b/src/mbgl/geometry/vao.cpp index d797a11b41..30f5484896 100644 --- a/src/mbgl/geometry/vao.cpp +++ b/src/mbgl/geometry/vao.cpp @@ -31,7 +31,7 @@ void VertexArrayObject::bindVertexArrayObject(gl::ObjectStore& store) { MBGL_CHECK_ERROR(gl::BindVertexArray(*vao)); } -void VertexArrayObject::verifyBinding(Shader &shader, GLuint vertexBuffer, GLuint elementsBuffer, +void VertexArrayObject::verifyBinding(Shader& shader, GLuint vertexBuffer, GLuint elementsBuffer, GLbyte *offset) { if (bound_shader != shader.getID()) { throw std::runtime_error(std::string("trying to rebind VAO to another shader from " + diff --git a/src/mbgl/geometry/vao.hpp b/src/mbgl/geometry/vao.hpp index 6821be182a..aa0a72ec59 100644 --- a/src/mbgl/geometry/vao.hpp +++ b/src/mbgl/geometry/vao.hpp @@ -10,8 +10,6 @@ namespace mbgl { -class Shader; - class VertexArrayObject : public util::noncopyable { public: static void Unbind(); @@ -19,8 +17,8 @@ public: VertexArrayObject(); ~VertexArrayObject(); - template <typename Shader, typename VertexBuffer> - void bind(Shader& shader, VertexBuffer &vertexBuffer, GLbyte *offset, gl::ObjectStore& store) { + template <typename VertexBuffer> + void bind(Shader& shader, VertexBuffer& vertexBuffer, GLbyte* offset, gl::ObjectStore& store) { bindVertexArrayObject(store); if (bound_shader == 0) { vertexBuffer.bind(store); @@ -33,8 +31,8 @@ public: } } - template <typename Shader, typename VertexBuffer, typename ElementsBuffer> - void bind(Shader& shader, VertexBuffer &vertexBuffer, ElementsBuffer &elementsBuffer, GLbyte *offset, gl::ObjectStore& store) { + template <typename VertexBuffer, typename ElementsBuffer> + void bind(Shader& shader, VertexBuffer& vertexBuffer, ElementsBuffer& elementsBuffer, GLbyte* offset, gl::ObjectStore& store) { bindVertexArrayObject(store); if (bound_shader == 0) { vertexBuffer.bind(store); @@ -62,7 +60,7 @@ private: // For debug reasons, we're storing the bind information so that we can // detect errors and report GLuint bound_shader = 0; - const char *bound_shader_name = ""; + const char* bound_shader_name = ""; GLuint bound_vertex_buffer = 0; GLuint bound_elements_buffer = 0; GLbyte *bound_offset = nullptr; diff --git a/src/mbgl/shader/circle_shader.cpp b/src/mbgl/shader/circle_shader.cpp index 2865769ee2..e1328bcbf1 100644 --- a/src/mbgl/shader/circle_shader.cpp +++ b/src/mbgl/shader/circle_shader.cpp @@ -3,12 +3,11 @@ #include <mbgl/shader/circle.fragment.hpp> #include <mbgl/gl/gl.hpp> -#include <cstdio> - using namespace mbgl; +using namespace shaders::circle; CircleShader::CircleShader(gl::ObjectStore& store) - : Shader("circle", shaders::circle::vertex, shaders::circle::fragment, store) { + : Shader(::name, ::vertex, ::fragment, store) { } void CircleShader::bind(GLbyte* offset) { diff --git a/src/mbgl/shader/collision_box_shader.cpp b/src/mbgl/shader/collision_box_shader.cpp index cf4ff81e96..7d6473ee29 100644 --- a/src/mbgl/shader/collision_box_shader.cpp +++ b/src/mbgl/shader/collision_box_shader.cpp @@ -3,12 +3,11 @@ #include <mbgl/shader/collisionbox.fragment.hpp> #include <mbgl/gl/gl.hpp> -#include <cstdio> - using namespace mbgl; +using namespace shaders::collisionbox; CollisionBoxShader::CollisionBoxShader(gl::ObjectStore& store) - : Shader("collisionbox", shaders::collisionbox::vertex, shaders::collisionbox::fragment, store) + : Shader(::name, ::vertex, ::fragment, store) , a_extrude(MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_extrude"))) , a_data(MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_data"))) { } diff --git a/src/mbgl/shader/icon_shader.cpp b/src/mbgl/shader/icon_shader.cpp index 7fb0335dc8..f4568e6c3d 100644 --- a/src/mbgl/shader/icon_shader.cpp +++ b/src/mbgl/shader/icon_shader.cpp @@ -3,12 +3,11 @@ #include <mbgl/shader/icon.fragment.hpp> #include <mbgl/gl/gl.hpp> -#include <cstdio> - using namespace mbgl; +using namespace shaders::icon; IconShader::IconShader(gl::ObjectStore& store) - : Shader("icon", shaders::icon::vertex, shaders::icon::fragment, store) + : Shader(::name, ::vertex, ::fragment, store) , a_offset(MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_offset"))) , a_data1(MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_data1"))) , a_data2(MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_data2"))) { diff --git a/src/mbgl/shader/line_shader.cpp b/src/mbgl/shader/line_shader.cpp index f21384082f..729b34d557 100644 --- a/src/mbgl/shader/line_shader.cpp +++ b/src/mbgl/shader/line_shader.cpp @@ -3,12 +3,11 @@ #include <mbgl/shader/line.fragment.hpp> #include <mbgl/gl/gl.hpp> -#include <cstdio> - using namespace mbgl; +using namespace shaders::line; LineShader::LineShader(gl::ObjectStore& store) - : Shader("line", shaders::line::vertex, shaders::line::fragment, store) + : Shader(::name, ::vertex, ::fragment, store) , a_data(MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_data"))) { } diff --git a/src/mbgl/shader/linepattern_shader.cpp b/src/mbgl/shader/linepattern_shader.cpp index a9923233af..dc970a5661 100644 --- a/src/mbgl/shader/linepattern_shader.cpp +++ b/src/mbgl/shader/linepattern_shader.cpp @@ -3,12 +3,11 @@ #include <mbgl/shader/linepattern.fragment.hpp> #include <mbgl/gl/gl.hpp> -#include <cstdio> - using namespace mbgl; +using namespace shaders::linepattern; LinepatternShader::LinepatternShader(gl::ObjectStore& store) - : Shader("linepattern", shaders::linepattern::vertex, shaders::linepattern::fragment, store) + : Shader(::name, ::vertex, ::fragment, store) , a_data(MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_data"))) { } diff --git a/src/mbgl/shader/linesdf_shader.cpp b/src/mbgl/shader/linesdf_shader.cpp index b316d2562d..29b67f4de5 100644 --- a/src/mbgl/shader/linesdf_shader.cpp +++ b/src/mbgl/shader/linesdf_shader.cpp @@ -3,12 +3,11 @@ #include <mbgl/shader/linesdfpattern.fragment.hpp> #include <mbgl/gl/gl.hpp> -#include <cstdio> - using namespace mbgl; +using namespace shaders::linesdfpattern; LineSDFShader::LineSDFShader(gl::ObjectStore& store) - : Shader("linesdfpattern", shaders::linesdfpattern::vertex, shaders::linesdfpattern::fragment, store) + : Shader(::name, ::vertex, ::fragment, store) , a_data(MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_data"))) { } diff --git a/src/mbgl/shader/outline_shader.cpp b/src/mbgl/shader/outline_shader.cpp index 58a647f375..09aff361c3 100644 --- a/src/mbgl/shader/outline_shader.cpp +++ b/src/mbgl/shader/outline_shader.cpp @@ -3,12 +3,11 @@ #include <mbgl/shader/outline.fragment.hpp> #include <mbgl/gl/gl.hpp> -#include <cstdio> - using namespace mbgl; +using namespace shaders::outline; OutlineShader::OutlineShader(gl::ObjectStore& store) - : Shader("outline", shaders::outline::vertex, shaders::outline::fragment, store) { + : Shader(::name, ::vertex, ::fragment, store) { } void OutlineShader::bind(GLbyte* offset) { diff --git a/src/mbgl/shader/outlinepattern_shader.cpp b/src/mbgl/shader/outlinepattern_shader.cpp index 5ffa458a4f..0af8558587 100644 --- a/src/mbgl/shader/outlinepattern_shader.cpp +++ b/src/mbgl/shader/outlinepattern_shader.cpp @@ -3,16 +3,11 @@ #include <mbgl/shader/outlinepattern.fragment.hpp> #include <mbgl/gl/gl.hpp> -#include <cstdio> - using namespace mbgl; +using namespace shaders::outlinepattern; OutlinePatternShader::OutlinePatternShader(gl::ObjectStore& store) - : Shader( - "outlinepattern", - shaders::outlinepattern::vertex, shaders::outlinepattern::fragment, - store - ) { + : Shader(::name, ::vertex, ::fragment, store) { } void OutlinePatternShader::bind(GLbyte *offset) { diff --git a/src/mbgl/shader/pattern_shader.cpp b/src/mbgl/shader/pattern_shader.cpp index 64a72d1451..a7ddc681d4 100644 --- a/src/mbgl/shader/pattern_shader.cpp +++ b/src/mbgl/shader/pattern_shader.cpp @@ -3,16 +3,11 @@ #include <mbgl/shader/pattern.fragment.hpp> #include <mbgl/gl/gl.hpp> -#include <cstdio> - using namespace mbgl; +using namespace shaders::pattern; PatternShader::PatternShader(gl::ObjectStore& store) - : Shader( - "pattern", - shaders::pattern::vertex, shaders::pattern::fragment, - store - ) { + : Shader(::name, ::vertex, ::fragment, store) { } void PatternShader::bind(GLbyte *offset) { diff --git a/src/mbgl/shader/plain_shader.cpp b/src/mbgl/shader/plain_shader.cpp index c030a2d7b3..257f49e1e2 100644 --- a/src/mbgl/shader/plain_shader.cpp +++ b/src/mbgl/shader/plain_shader.cpp @@ -3,12 +3,11 @@ #include <mbgl/shader/fill.fragment.hpp> #include <mbgl/gl/gl.hpp> -#include <cstdio> - using namespace mbgl; +using namespace shaders::fill; PlainShader::PlainShader(gl::ObjectStore& store) - : Shader("fill", shaders::fill::vertex, shaders::fill::fragment, store) { + : Shader(::name, ::vertex, ::fragment, store) { } void PlainShader::bind(GLbyte* offset) { diff --git a/src/mbgl/shader/raster_shader.cpp b/src/mbgl/shader/raster_shader.cpp index e5e290bedd..b310212731 100644 --- a/src/mbgl/shader/raster_shader.cpp +++ b/src/mbgl/shader/raster_shader.cpp @@ -3,12 +3,11 @@ #include <mbgl/shader/raster.fragment.hpp> #include <mbgl/gl/gl.hpp> -#include <cstdio> - using namespace mbgl; +using namespace shaders::raster; RasterShader::RasterShader(gl::ObjectStore& store) - : Shader("raster", shaders::raster::vertex, shaders::raster::fragment, store) { + : Shader(::name, ::vertex, ::fragment, store) { } void RasterShader::bind(GLbyte* offset) { diff --git a/src/mbgl/shader/sdf_shader.cpp b/src/mbgl/shader/sdf_shader.cpp index 76ea1e3b4d..1a08bef16e 100644 --- a/src/mbgl/shader/sdf_shader.cpp +++ b/src/mbgl/shader/sdf_shader.cpp @@ -3,12 +3,11 @@ #include <mbgl/shader/sdf.fragment.hpp> #include <mbgl/gl/gl.hpp> -#include <cstdio> - using namespace mbgl; +using namespace shaders::sdf; SDFShader::SDFShader(gl::ObjectStore& store) - : Shader("sdf", shaders::sdf::vertex, shaders::sdf::fragment, store) + : Shader(::name, ::vertex, ::fragment, store) , a_offset(MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_offset"))) , a_data1(MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_data1"))) , a_data2(MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_data2"))) { diff --git a/src/mbgl/shader/shader.cpp b/src/mbgl/shader/shader.cpp index 23ea043720..e2c7776e4d 100644 --- a/src/mbgl/shader/shader.cpp +++ b/src/mbgl/shader/shader.cpp @@ -13,7 +13,7 @@ namespace mbgl { -Shader::Shader(const char *name_, const GLchar *vertSource, const GLchar *fragSource, gl::ObjectStore& store) +Shader::Shader(const char* name_, const char* vertexSource, const char* fragmentSource, gl::ObjectStore& store) : name(name_) , program(store.createProgram()) , vertexShader(store.createShader(GL_VERTEX_SHADER)) @@ -21,13 +21,13 @@ Shader::Shader(const char *name_, const GLchar *vertSource, const GLchar *fragSo { util::stopwatch stopwatch("shader compilation", Event::Shader); - if (!compileShader(vertexShader, &vertSource)) { - Log::Error(Event::Shader, "Vertex shader %s failed to compile: %s", name, vertSource); + if (!compileShader(vertexShader, &vertexSource)) { + Log::Error(Event::Shader, "Vertex shader %s failed to compile: %s", name, vertexSource); throw util::ShaderException(std::string { "Vertex shader " } + name + " failed to compile"); } - if (!compileShader(fragmentShader, &fragSource)) { - Log::Error(Event::Shader, "Fragment shader %s failed to compile: %s", name, fragSource); + if (!compileShader(fragmentShader, &fragmentSource)) { + Log::Error(Event::Shader, "Fragment shader %s failed to compile: %s", name, fragmentSource); throw util::ShaderException(std::string { "Fragment shader " } + name + " failed to compile"); } diff --git a/src/mbgl/shader/shader.hpp b/src/mbgl/shader/shader.hpp index 1cb2a5601f..3ba1e044c7 100644 --- a/src/mbgl/shader/shader.hpp +++ b/src/mbgl/shader/shader.hpp @@ -8,10 +8,8 @@ namespace mbgl { class Shader : private util::noncopyable { public: - Shader(const GLchar *name, const GLchar *vertex, const GLchar *fragment, gl::ObjectStore&); - ~Shader(); - const GLchar *name; + const char* name; GLuint getID() const { return program.get(); @@ -20,6 +18,7 @@ public: virtual void bind(GLbyte *offset) = 0; protected: + Shader(const char* name_, const char* vertex, const char* fragment, gl::ObjectStore&); GLint a_pos = -1; private: |