-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Fix layers rendering after fill-extrusion #15065
Conversation
"render-tests/combinations/fill-translucent--fill-extrusion-translucent": "needs investigation", | ||
"render-tests/combinations/line-translucent--fill-extrusion-translucent": "needs investigation", | ||
"render-tests/combinations/raster-translucent--fill-extrusion-translucent": "needs investigation", | ||
"render-tests/combinations/symbol-translucent--fill-extrusion-translucent": "needs investigation", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
"needs backport" added because of this comment:
|
Concretely this means cherry picking changes to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM % optional nit
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 #14844 (comment) in #14844, #14779. Fix (opaquePassCutoff, is3D) is ported from mapbox/mapbox-gl-js#7821 Fixes: #14844, #14779, #15039
a89473c
to
3ffc14a
Compare
Our combinations fill-extrusion render tests mostly combine fill extrusion with one other layer. This just serves for verifying it using more layers. It doesn't expose any particular issue - serves for verifying mapbox/mapbox-gl-native#15065
Our combinations fill-extrusion render tests mostly combine fill extrusion with one other layer. This just serves for verifying it using more layers. It doesn't expose any particular issue - serves for verifying mapbox/mapbox-gl-native#15065
This fixes following issues:
state.getProjMatrix(nearClippedProjMatrix, 100)
caused that tests with size 64x64 were notrendering 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 #14844 (comment) in #14844, #14779.
Fix (opaquePassCutoff, is3D) is ported from mapbox/mapbox-gl-js#7821
Fixes: #14844, #14779, #15039