Commit Graph

10 Commits

Author SHA1 Message Date
Aleksandar Stojiljkovic
d7f28c3079 Fix wrong #15065 nit fix
Change in 3ffc14a325
was a typo while addresssing review nit: while it didn't affect render tests it doesn't work properly in all cases.

Fixes: #14844, #14779, #15039
2019-07-19 12:58:19 +03:00
Mikhail Pozdnyakov
fa5646d112 [core] Synchronize render passes and render tiles
Before this change render passes were assigned for the
whole layer at properties evaluation stage.

This caused problems, as layer render data are bound
to the tile and these data might differ from tile to
tile, depending on which tile has been updated by the
tile worker and which has not been yet updated.

This change takes into consideration the actual render
passes required for each tile and combines them for
the layer render passes. Naturally, this change also
introduces render pass check for each render layer in
`RenderLayer::render()` implementations.
2019-07-11 15:36:28 +03:00
Aleksandar Stojiljkovic
286bc66ba4 Issue #15065 changelogs and nit fix. 2019-07-09 15:13:38 +02:00
Aleksandar Stojiljkovic
2c5528e691 Fix layers rendering after fill-extrusion
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
2019-07-09 15:13:38 +02:00
Alexander Shalamov
8d94bb1be0 [core] Reserve size for filtered render layers 2019-07-09 11:43:46 +03:00
Alexander Shalamov
57402314e1 [core] Improve performance for query rendered features
- query rendered symbols only from layers that support it
- remove unnecessary iterations over vectors
2019-07-09 11:43:46 +03:00
Mikhail Pozdnyakov
da3b7749b0 [core] RenderSource creates render items 2019-07-04 16:56:43 +03:00
Mikhail Pozdnyakov
e797e31831 [core] ImageManager is not used at tile upload stage 2019-07-04 16:56:43 +03:00
Mikhail Pozdnyakov
0687460033 [core] RenderSource does re-layout if layer's data-driven properties change. 2019-07-02 16:05:09 +03:00
Mikhail Pozdnyakov
658d68e38c [core] Introduce RenderOrchestrator 2019-06-25 12:53:52 +03:00