summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer
Commit message (Collapse)AuthorAgeFilesLines
* Fix layers rendering after fill-extrusionAleksandar Stojiljkovic2019-07-0910-15/+31
| | | | | | | | | | | | | | | | | | | | | This fixes following issues: * Fix some false passing combinations/fill-extrusion-translucent--XXXX tests * Fix and enable other, failing but ignored, combinations/fill-extrusion-translucent--XXXX tests * Fix rendering of layers that are on top of fill-extrusion layers state.getProjMatrix(nearClippedProjMatrix, 100) caused that tests with size 64x64 were not rendering fill extrusions: far plane calculated as 96.9 and near plane set to 100 was the cause. near plane is changed from hardcoded 100 to depend on state.getCameraToCenterDistance() - producing similar value but one that follows max zoom. This caused that e.g. combinations/fill-extrusion-translucent--fill-opaque was falsely passing as only fill-opaque layer got rendered. combinations/fill-extrusion-translucent--XXXX tests expose regression https://github.com/mapbox/mapbox-gl-native/issues/14844#issuecomment-503600034 in #14844, #14779. Fix (opaquePassCutoff, is3D) is ported from https://github.com/mapbox/mapbox-gl-js/pull/7821 Fixes: #14844, #14779, #15039
* [core] Share render tiles lists between layersMikhail Pozdnyakov2019-07-0915-58/+87
| | | | This helps to avoid unneeded allocations.
* [core] Reserve size for filtered render layersAlexander Shalamov2019-07-092-2/+17
|
* [core] Improve performance for query rendered featuresAlexander Shalamov2019-07-0913-28/+40
| | | | | - query rendered symbols only from layers that support it - remove unnecessary iterations over vectors
* Revert "[core] Change severity of too many data-driven properties to "Info""Thiago Marcos P. Santos2019-07-081-13/+13
| | | | This reverts commit 2125080dc34381e7458695ed584ea94398d0e9b2.
* [core] RenderSource creates render itemsMikhail Pozdnyakov2019-07-0413-106/+140
|
* [core] Remove down-casting of render sourcesMikhail Pozdnyakov2019-07-049-49/+10
|
* [core] Introduce ImageSourceRenderData and RenderSource::getImageRenderData()Mikhail Pozdnyakov2019-07-045-36/+45
| | | | | Image source render data is owned by render source, which is simpler than the previous approach and aligned with the render tiles ownership model.
* [core] ImageManager is not used at tile upload stageMikhail Pozdnyakov2019-07-045-21/+40
|
* [core] Introduce ImageManager::getSharedImageMikhail Pozdnyakov2019-07-042-1/+9
|
* [core] Introduce TileRenderDataMikhail Pozdnyakov2019-07-045-15/+127
| | | | Remove rendering functionality from Tile implementations.
* [core] Remove orchestration methods from RenderTileMikhail Pozdnyakov2019-07-0411-32/+39
|
* [core] Remove unused PaintPropertyBinders::constants()Mikhail Pozdnyakov2019-07-021-12/+0
|
* [core] RenderSource does re-layout if layer's data-driven properties change.Mikhail Pozdnyakov2019-07-021-1/+6
|
* [core] Geometry tile updates layer render data if its constants mask remainsMikhail Pozdnyakov2019-07-021-6/+1
| | | | | | Thus, we do not have to wait for tile update completion in case the updated properties have the same constants mask, i.e. fit the existing bucket.
* [core] Introduce RenderOrchestratorMikhail Pozdnyakov2019-06-255-705/+781
|
* [core] Introduce RenderTreeMikhail Pozdnyakov2019-06-255-93/+242
| | | | Split orchestration from rendering in the `Renderer::Impl` implementation.
* [core] PaintParameters do not need UpdateParametersMikhail Pozdnyakov2019-06-253-10/+17
|
* [core] Remove RenderPass::UploadMikhail Pozdnyakov2019-06-255-8/+4
|
* [core] Simplify RenderLayer::upload()Mikhail Pozdnyakov2019-06-256-34/+25
| | | | | | Now `RenderLayer::upload()` accepts only `uploadPass`, similar to other uploadable objects. Few simplifications were made in the `LineLayer` prepare stage.
* [core] Change severity of too many data-driven properties to "Info"Thiago Marcos P. Santos2019-06-151-13/+13
| | | | So it can be filtered by the SDKs using a Log::Observer.
* [core] don't call glFlush on every frameKonstantin Käfer2019-06-121-1/+1
|
* [core] TilePyramind uses TransformState::getScale()Mikhail Pozdnyakov2019-06-102-1/+2
|
* [core] TilePyramid::getRenderTiles -> getRenderedTilesMikhail Pozdnyakov2019-06-109-10/+10
|
* [core] Refactor tile pyramidMikhail Pozdnyakov2019-06-109-83/+59
| | | | | | | Tile pyramid is no longer operating with `RenderTiles` and does not perform rendering operations (upload, finish render). Render tiles belong to rendering, and tile pyramid belongs to orchestration.
* [core] Use unique ID in hillshade and hillshade_prepare draw.Aleksandar Stojiljkovic2019-06-061-2/+2
|
* [core] Fix symbol rendering under opaque fill layersJuha Alanen2019-06-042-15/+4
|
* [core] Update comments for pattern atlasMikhail Pozdnyakov2019-06-042-5/+5
|
* [core] Introduce PatternAtlasMikhail Pozdnyakov2019-06-0410-164/+215
|
* [core] Remove ImageManager from upload parametersMikhail Pozdnyakov2019-06-047-21/+16
|
* [core] fix warnings with Xcode 11's updated Clang versionKonstantin Käfer2019-06-041-1/+1
|
* [core] Use fresh transform state for bucket vertices update in placementMikhail Pozdnyakov2019-06-034-6/+7
| | | | The transform state cached in placement might get stale and cannot be used for bucket vertices updates.
* [core] Avoid unneeded update of symbol dynamic vertex bufferMikhail Pozdnyakov2019-06-031-3/+6
|
* [core] Fix: fill-extrusion-vertical-gradient was ignored. #14784Aleksandar Stojiljkovic2019-05-311-2/+4
| | | | | | fill-extrusion-vertical-gradient "property-type": "data-constant" and it shouldn't be computed through property binders. Fixes: #14784
* [core] Introduce RenderTileSourceMikhail Pozdnyakov2019-05-2912-358/+148
| | | | | | | RenderTileSource is a base class for the render sources that provide render tiles. * Removes repeated code * Simplifies render source code refactoring and improves readability
* [core] end the RenderPass/CommandEncoder before sending eventsKonstantin Käfer2019-05-282-7/+12
|
* [core] ensure gfx::DrawScopes are uniqueKonstantin Käfer2019-05-283-16/+22
|
* [core] RenderTile returns textures by const referenceMikhail Pozdnyakov2019-05-286-17/+19
|
* [core] Placement::placeLayerBucket() -> placeBucket()Mikhail Pozdnyakov2019-05-281-1/+1
|
* [core] Encapsulate symbol bucket placement code in Placement::placeLayerBucket()Mikhail Pozdnyakov2019-05-285-13/+5
|
* [core] RenderTile does not expose TileMikhail Pozdnyakov2019-05-2827-71/+168
| | | | | | RenderTile and Tile will be split when ochestration movces to a separate thread. This PR improves encapsulation of Tiles management: now performed within TilePyramid.
* FillBucket::triangles could be empty: skip creating buffer and draw. (#14761)Aleksandar Stojiljkovic2019-05-242-12/+14
|
* [core] SymbolBucket updates complete at placement stageMikhail Pozdnyakov2019-05-247-179/+33
| | | | | | | | `RenderSymbolLayer` does not have to update dynamic vertices of its buckets, this logic is moved to placement (which is already updates opacity vertices). * fixes clustering of labels when text variable placement enabled - as assignes `usesVariablePlacement` per bucket * simplifies the code in `RenderSymbolLayer` (the `RenderSymbolLayer::upload()` is now omitted). * symbol buckets are not modified after orchestration finishes
* [core] RenderLayer::render(PaintParameters, RenderSource*) -> ↵Mikhail Pozdnyakov2019-05-2225-72/+90
| | | | render(PaintParameters)
* [core] RenderLayer::setRenderTiles(RenderTiles) -> ↵Mikhail Pozdnyakov2019-05-225-10/+18
| | | | | | | prepare(LayerPrepareParameters) RenderLayer::prepare() is responsible for the complete initialization of a render layer, so that it can render.
* [core] Prepare render sources before render layers are initializedMikhail Pozdnyakov2019-05-2221-56/+82
|
* [core] Forward ImageManagerObserver::onRemoveUnusedStyleImages to ↵Alexander Shalamov2019-05-212-0/+5
| | | | MapObserver interface
* [core] Add onRemoveUnusedStyleImages observer APIAlexander Shalamov2019-05-214-47/+76
|
* [core] Check if pattern dependencies or pattern positions are missingAlexander Shalamov2019-05-201-8/+18
| | | | | Add check for optional pattern dependencies and don't bind empty vertex buffers if pattern positions are missing.
* [core] Avoid bucket downcasting in PlacementMikhail Pozdnyakov2019-05-193-0/+17
|