summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/fill_bucket.hpp
Commit message (Collapse)AuthorAgeFilesLines
* [core] split off render layersIvo van Dongen2017-04-251-5/+3
|
* [core] account for property functions in query rendered featuresIvo van Dongen2017-04-191-0/+2
|
* [core] Prefer std::map to std::unordered_map for smaller binary sizeJohn Firebaugh2017-03-211-1/+1
|
* [core] Add support for data-driven stylingJohn Firebaugh2017-02-021-5/+15
|
* [core] Introduce SegmentVectorJohn Firebaugh2016-11-151-2/+2
|
* [core] Use gl::Program to resolve some rough edges in the GL binding typesJohn Firebaugh2016-11-081-5/+5
| | | | | | | | | * Extract `ignore` util to separate header. * `Segment` now tracks offset and length of indices, rather than primitives. This is more natural. * Introduce `VertexVector` and `IndexVector` types. These types carry information about the intended draw mode (`Triangles`, `LineStrip`, etc.), and ensure that elements are always appended in a group size appropriate for that draw mode, for both indexed and unindexed rendering. * `Program`, rather than `Drawable`, is now the unifying object for draw calls. `Program` is the best place to type check the draw call, because it is typed to carry information about the intended primitive, vertex type, attributes, and uniforms. * Use the debug shaders for debug tile rendering, like gl-js. * Fix the draw mode for background. It was drawing triangle strips with a triangles array. Surprised this didn’t cause issues. Now it’s type checked.
* [core] Introduce gl::Program templateJohn Firebaugh2016-11-081-1/+1
|
* [core] Make attribute binding more similar to uniform bindingJohn Firebaugh2016-11-081-1/+1
|
* [core] Set bucket segments to initialize emptyBruno de Oliveira Abinader2016-11-021-2/+2
|
* [core] Use numeric_limits<>::max() for checking element groupsBruno de Oliveira Abinader2016-10-311-2/+2
|
* [core] Modern C++ bindings for OpenGLJohn Firebaugh2016-10-281-20/+3
|
* [core] Rationalize shader namesJohn Firebaugh2016-10-061-13/+13
| | | | {layer type}{subtype}Shader
* [core] Make ElementGroup saferJohn Firebaugh2016-10-051-5/+3
| | | | | | Template on shader types, rather than count. This allows the compiler to enforce using the correct VAO for the shader and PaintMode. This fixes OverdrawMode with circle layers. While here, avoid using unique_ptrs for groups. Instead, ensure ElementGroup is movable.
* [core] Refactor BufferJohn Firebaugh2016-10-051-9/+14
|
* [core] merge gl::ObjectStore into gl::ContextKonstantin Käfer2016-09-271-5/+5
|
* [core] rename gl::Config to gl::ContextKonstantin Käfer2016-09-271-5/+5
|
* [core] track VAOs and BuffersKonstantin Käfer2016-09-261-4/+4
|
* [core] change bool overdraw to PaintMode::OverdrawKonstantin Käfer2016-09-071-4/+4
|
* [core] Pass RenderTile rather than individual parametersJohn Firebaugh2016-07-111-1/+1
|
* [core] Introduce PaintParametersJohn Firebaugh2016-07-111-1/+1
| | | | Use it to DRY selection of regular vs. overdraw shaders and VAOs.
* [core] track texture state to avoid redundand bindsKonstantin Käfer2016-07-081-1/+1
|
* [core] Fix overdraw mode on LinuxBruno de Oliveira Abinader2016-07-011-6/+6
| | | | | | | | | | - Use glBindAttribLocation for GLSL attributes. - Create a separate shader for each shader that supports overdraw. Needed because each uniform location must be known for every program. - Create a separate VAO for each shader inside buckets. Needed because we can only bind a VAO to a specific shader. Fixes #5435.
* [core] Merge TexturePool into ObjectStore; pool all textures (#5477)John Firebaugh2016-06-271-1/+1
|
* [core] remove TexturePool dependency from Raster constructorKonstantin Käfer2016-06-221-1/+1
|
* [core] *Tile ↔ *TileDataJohn Firebaugh2016-06-131-1/+1
| | | | Tile is now the main base class; RasterTile, VectorTile, etc are its subclasses. GeometryTileData and its subclasses form the piece that's passed to the worker.
* [core] Rationalize naming for style-related codeJohn Firebaugh2016-06-021-1/+1
|
* [core] Runtime style layer APIJohn Firebaugh2016-06-021-1/+1
|
* [core] s/GLObjectStore/ObjectStore/Bruno de Oliveira Abinader2016-06-011-5/+5
|
* [core] Replace clipper and libtess with earcut.hppJohn Firebaugh2016-05-311-25/+4
|
* [core] use #pragma once instead of ifdef include guardsKonstantin Käfer2016-05-251-4/+1
|
* [core] move Painter and dependents to new *TileID classesKonstantin Käfer2016-05-101-1/+1
|
* [core] port outlinepattern for fill-pattern anti-aliasing from gl-js to nativeMolly Lloyd2016-04-281-1/+3
| | | | | | | | | | | | | | add outlinepattern shader class to relevant files add outlinepattern code to painter_fill.cpp add outlinepattern code to fill_bucket refactor painter_fill, fix tests fix merge conflicts and setDepthSublayer update render test to no antialiasing so travis will be happy
* [core] do not call glStencilFunc when we're not clippingKonstantin Käfer2016-04-061-0/+1
|
* [core] Thread GLObjectStore through to Holder objectsJohn Firebaugh2016-02-181-4/+4
| | | | | | This eliminates the reliance on ThreadContext to provide GLObjectStore, and statically enforces that GL cleanup functions happen only when GLObjectStore::performCleanup is called. With the elimination of the Map thread, this becomes important because there may be multiple GLObjectStore's per-thread, and Map will need to ensure that the correct context is active when calling GLObjectStore::performCleanup.
* [core] Organize files that were in map folder betterJohn Firebaugh2016-02-111-1/+1
| | | | Fixes #996
* [core] add namespace comment to closing braceKonstantin Käfer2015-12-031-1/+1
|
* [core] reparse tiles when new data arrivesKonstantin Käfer2015-10-261-1/+1
| | | | We're now reparsing tiles when they expire. We're also swapping out buckets atomically to avoid flickering data; i.e. we're displaying the old data as long as we don't have a new parsed bucket for that layer yet. The parsed buckets now live in the *TileData objects rather than in the TileWorker; only partially parsed == pending buckets will remain in the TileWorker. Once they're parsed, they're moved to the *TileData object.
* give every bucket its own set of buffersKonstantin Käfer2015-10-021-11/+5
| | | | This allows changing individual buckets without having leftover data
* [core] convert remaining types to use OpenGL header defined variantsBruno de Oliveira Abinader2015-09-151-3/+3
|
* rename prepare => upload and determine passes per layer instead of per bucketKonstantin Käfer2015-05-041-1/+1
|
* add prepare() functionKonstantin Käfer2015-05-041-2/+2
|
* remove hasData() from Bucket interfaceKonstantin Käfer2015-05-041-1/+1
|
* remove some unused includesKonstantin Käfer2015-04-281-4/+0
|
* Tile::ID ⇢ TileIDJohn Firebaugh2015-04-061-1/+1
| | | | This allows making both Tile and TileID private.
* some cleanupKonstantin Käfer2015-04-021-16/+4
|
* Eliminate some unnecessary pointer indirectionJohn Firebaugh2015-03-311-3/+3
| | | | | Buckets had a pointer to the associated layout type, when they can just have a direct member.
* parse geometry collections from the pbfs; iterate geometries in bucketsJustin R. Miller2015-03-091-1/+1
|
* refs #928: bookmarking working build of refactorJustin R. Miller2015-03-091-2/+2
|
* pass StyleLayer objects as const ref instead of a shared pointerKonstantin Käfer2015-03-061-3/+4
|
* rename StyleBucket* => StyleLayout*Konstantin Käfer2015-02-171-2/+3
| | | | | | and remove a few unused variables refs #881