* [core] update shaders for line property functions
update deps, define device pixel ratio for all shaders
[core] create ShaderParameter struct to store pixel ratio and overdraw param
repair rebase errs
update shaders to include pixel ratio
make sure collision_box never overdraws
update test suite, move shaders to Painter::render so the correct pixel ratio is applied
move shader compiling back to the Painter constructor
rebase from shader --> program refactor
re-factor parameters for collisionBox and debug programs
remove unused vars from line-program, move blur math to shader
update core files
remove unecessary files
update shaders PR, remove comments
bump test suite sha
fix formatting, incorporate feedback
refactor program.hpp
* [core] remove line transformations that were moved to the shaders, bump shader sha
* [core] shorten ProgramParameter instantiation
* [core] bump shader+test suite shas
Original author: Tiago Vignatti <tvignatti@gmail.com>
Calling X11 window system is superfluous for headless rendering. This patch
implements EGL platform using GBM, which is slightly more simple than the GLX
path when using X11.
In principle there are no big advantages in terms of performance etc. My
motivation behind this was to get in touch with the code and the project. For
testing I'm using:
$ unset DISPLAY && ./build/linux-x86_64/Debug/mbgl-test
v2: rebased patch against the new cmake changes; walk through render node to
find a valid one; remove EGLSurface completely cause windows are not needed
here.
This is safer now -- it can be an implementation detail of Segment/Context. And the typing of SegmentVector now ensures that the attributes and program match.
Two reasons to prefer explicit sequential location assignment, rather than relying on the GLSL linker to assign locations:
* For data-driven properties, we want to have the option to use glDisableVertexAttribArray plus glVertexAttrib*. In order to use glDisableVertexAttribArray, we must avoid using attribute location 0, which cannot be disabled.
* We want to use the same VAO in cases where, say, a fill layer might be rendered with FillProgram at first, and then FillPatternProgram later. VAOs do not store the program binding, only the attribute bindings, so as long as the two programs have the same attributes and attribute locations, only a single VAO (per segment) is needed.
If a source or layer is removed from the style, recapture the
unique pointer ownership. This makes it safe to add back sources
and layers after they have been removed.
* [core] Line-break ideographic text by character
Allow a line break to be inserted after any supported Chinese, Japanese, or Yi character in a point-placed label. Balance the lines unless non-ideographic text such as Latin letters are present.
Fixes#1223.
* [core] Moved more character classing into util::i18n
* [core] Detect character properties by Unicode block
* [test] Reenabled ideographic breaking tests
Removed individual OHHTTPStubs file references from the ios-tests project. Added a reference to the OHHTTPStubs project to the workspace. Link ios-tests to its iOS framework build product.
Refactor the previous C array based implementation to use C++ std::vector. This is done to avoid potential safety and security issues with the previous approach.
* [android] - getMarkerViews in rectangle should only return in bound views.
* added example in test app for debugging
* Covert rectangle coming in to density dependant rectangle
When a source or layer is removed transfer ownership back to the
caller so it can (optionally) take it. Preserve the behavior that
removing a CustomLayer triggers deinitialization. Deinitialize all
custom layers when a style is destroyed in case those layers are not
explicitly removed.