diff options
author | Lauren Budorick <lauren@mapbox.com> | 2017-09-21 14:26:48 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-21 14:26:48 -0700 |
commit | a9ddf5b7fd311ffb9215a682ab2387181189071e (patch) | |
tree | 50e31aa30c8f58e6a82e6ff6dc2f5896ea963889 /include | |
parent | b91d9676a60204f2c9ee8803dec243d49f97e599 (diff) | |
download | qtlocation-mapboxgl-a9ddf5b7fd311ffb9215a682ab2387181189071e.tar.gz |
Preserve depth buffer between 3D layers + optimize render order (#9931)
Port of https://github.com/mapbox/mapbox-gl-js/pull/5101: adds a new render pass `Pass3D` before any other rendering wherein we render layers with 3D passes (fill-extrusion layers) to offscreen framebuffers, sharing a depth renderbuffer between those layers in order to render 3D space correctly. Those framebuffers are saved on the RenderLayers and copied back to the map during the translucent pass. Rendering to offscreen framebuffers before we do any clear + draw means we can avoid expensive framebuffer restores.
Diffstat (limited to 'include')
-rw-r--r-- | include/mbgl/renderer/renderer_backend.hpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/mbgl/renderer/renderer_backend.hpp b/include/mbgl/renderer/renderer_backend.hpp index f7d19a1791..295838c71b 100644 --- a/include/mbgl/renderer/renderer_backend.hpp +++ b/include/mbgl/renderer/renderer_backend.hpp @@ -35,6 +35,8 @@ public: // set to the current state. virtual void bind() = 0; + virtual Size getFramebufferSize() const = 0; + protected: // Called with the name of an OpenGL extension that should be loaded. RendererBackend implementations // must call the API-specific version that obtains the function pointer for this function, |