From e6bcbdd5d3c3665df86b1ae30a0d726982fd37ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20K=C3=A4fer?= Date: Mon, 22 Aug 2016 15:54:40 +0200 Subject: [PATCH] [core] set correct depth values for CustomLayer so compositing works --- include/mbgl/style/layers/custom_layer.hpp | 2 + src/mbgl/renderer/painter.cpp | 5 ++ test/api/custom_layer.cpp | 45 +++++++++++++----- .../api/assets/streets/10-163-395.vector.pbf | Bin 0 -> 79611 bytes test/fixtures/custom_layer/basic/expected.png | Bin 1684 -> 12285 bytes 5 files changed, 41 insertions(+), 11 deletions(-) create mode 100644 test/fixtures/api/assets/streets/10-163-395.vector.pbf diff --git a/include/mbgl/style/layers/custom_layer.hpp b/include/mbgl/style/layers/custom_layer.hpp index d3867e2c4..87bce06f4 100644 --- a/include/mbgl/style/layers/custom_layer.hpp +++ b/include/mbgl/style/layers/custom_layer.hpp @@ -33,6 +33,8 @@ struct CustomLayerRenderParameters { * any assumptions about the GL state (other than that the correct context is active). It may * make changes to the state, and is not required to reset values such as the depth mask, stencil * mask, and corresponding test flags to their original values. + * Make sure that you are drawing your fragments with a z value of 1 to take advantage of the + * opaque fragment culling in case there are opaque layers above your custom layer. */ using CustomLayerRenderFunction = void (*)(void* context, const CustomLayerRenderParameters&); diff --git a/src/mbgl/renderer/painter.cpp b/src/mbgl/renderer/painter.cpp index 163095d85..e0c482015 100644 --- a/src/mbgl/renderer/painter.cpp +++ b/src/mbgl/renderer/painter.cpp @@ -263,6 +263,11 @@ void Painter::renderPass(PaintParameters& parameters, } else if (layer.is()) { MBGL_DEBUG_GROUP(layer.baseImpl->id + " - custom"); VertexArrayObject::Unbind(); + config.depthFunc.reset(); + config.depthTest = GL_TRUE; + config.depthMask = GL_FALSE; + config.stencilTest = GL_FALSE; + setDepthSublayer(0); layer.as()->impl->render(state); config.setDirty(); } else { diff --git a/test/api/custom_layer.cpp b/test/api/custom_layer.cpp index 0efd7129e..2dded1925 100644 --- a/test/api/custom_layer.cpp +++ b/test/api/custom_layer.cpp @@ -1,11 +1,12 @@ #include -#include #include #include #include #include +#include #include +#include #include #include #include @@ -13,8 +14,20 @@ using namespace mbgl; using namespace mbgl::style; -static const GLchar * vertexShaderSource = "attribute vec2 a_pos; void main() { gl_Position = vec4(a_pos, 0, 1); }"; -static const GLchar * fragmentShaderSource = "void main() { gl_FragColor = vec4(0, 1, 0, 1); }"; +// Note that custom layers need to draw geometry with a z value of 1 to take advantage of +// depth-based fragment culling. +static const GLchar* vertexShaderSource = R"MBGL_SHADER( +attribute vec2 a_pos; +void main() { + gl_Position = vec4(a_pos, 1, 1); +} +)MBGL_SHADER"; + +static const GLchar* fragmentShaderSource = R"MBGL_SHADER( +void main() { + gl_FragColor = vec4(0, 0.5, 0, 0.5); +} +)MBGL_SHADER"; // Not using any mbgl-specific stuff (other than a basic error-checking macro) in the // layer implementation because it is intended to reflect how someone using custom layers @@ -47,10 +60,10 @@ public: MBGL_CHECK_ERROR(glLinkProgram(program)); a_pos = glGetAttribLocation(program, "a_pos"); - GLfloat background[] = { -1,-1, 1,-1, -1,1, 1,1 }; + GLfloat triangle[] = { 0, 0.5, 0.5, -0.5, -0.5, -0.5 }; MBGL_CHECK_ERROR(glGenBuffers(1, &buffer)); MBGL_CHECK_ERROR(glBindBuffer(GL_ARRAY_BUFFER, buffer)); - MBGL_CHECK_ERROR(glBufferData(GL_ARRAY_BUFFER, 8 * sizeof(GLfloat), background, GL_STATIC_DRAW)); + MBGL_CHECK_ERROR(glBufferData(GL_ARRAY_BUFFER, 6 * sizeof(GLfloat), triangle, GL_STATIC_DRAW)); } void render() { @@ -58,9 +71,7 @@ public: MBGL_CHECK_ERROR(glBindBuffer(GL_ARRAY_BUFFER, buffer)); MBGL_CHECK_ERROR(glEnableVertexAttribArray(a_pos)); MBGL_CHECK_ERROR(glVertexAttribPointer(a_pos, 2, GL_FLOAT, GL_FALSE, 0, nullptr)); - MBGL_CHECK_ERROR(glDisable(GL_STENCIL_TEST)); - MBGL_CHECK_ERROR(glDisable(GL_DEPTH_TEST)); - MBGL_CHECK_ERROR(glDrawArrays(GL_TRIANGLE_STRIP, 0, 4)); + MBGL_CHECK_ERROR(glDrawArrays(GL_TRIANGLE_STRIP, 0, 3)); } GLuint program = 0; @@ -75,10 +86,17 @@ TEST(CustomLayer, Basic) { auto display = std::make_shared(); HeadlessView view(display, 1); - StubFileSource fileSource; + +#ifdef MBGL_ASSET_ZIP + // Regenerate with `cd test/fixtures/api/ && zip -r assets.zip assets/` + DefaultFileSource fileSource(":memory:", "test/fixtures/api/assets.zip"); +#else + DefaultFileSource fileSource(":memory:", "test/fixtures/api/assets"); +#endif Map map(view, fileSource, MapMode::Still); - map.setStyleJSON(util::read_file("test/fixtures/api/empty.json")); + map.setStyleJSON(util::read_file("test/fixtures/api/water.json")); + map.setLatLngZoom({ 37.8, -122.5 }, 10); map.addLayer(std::make_unique( "custom", [] (void* context) { @@ -91,5 +109,10 @@ TEST(CustomLayer, Basic) { delete reinterpret_cast(context); }, new TestLayer())); - test::checkImage("test/fixtures/custom_layer/basic", test::render(map)); + auto layer = std::make_unique("landcover", "mapbox"); + layer->setSourceLayer("landcover"); + layer->setFillColor(Color{ 1.0, 1.0, 0.0, 1.0 }); + map.addLayer(std::move(layer)); + + test::checkImage("test/fixtures/custom_layer/basic", test::render(map), 0.0006, 0.1); } diff --git a/test/fixtures/api/assets/streets/10-163-395.vector.pbf b/test/fixtures/api/assets/streets/10-163-395.vector.pbf new file mode 100644 index 0000000000000000000000000000000000000000..d3959e61ec11337b5a2d31b565b580c77883410d GIT binary patch literal 79611 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

5aFH1jeiwNx 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/custom_layer/basic/expected.png b/test/fixtures/custom_layer/basic/expected.png index 9d3f38f3e108a8ee77447eeed2199c89cfc17218..657f8d2a5d70da108383cf8b36ff56839d1ae59d 100644 GIT binary patch literal 12285 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 XAKDgDzMKVD00000NkvXXu0mjf%jvaw literal 1684 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|G!U;i$lZxy-8q?;3=C|3o-U3d z6^w7MFbXm#@Gu)5*#G=s;$vp6S?_jT-}7EjVS5eFDrPK(cNU@Tx}ImE=K5VP+E3r~aes1>6DHJYME^TlWZ fG6YN71FUPlGyjuIU;hGF%`kYn`njxgN@xNAKwkXv