summaryrefslogtreecommitdiff
path: root/src/mbgl/programs/line_program.hpp
Commit message (Collapse)AuthorAgeFilesLines
* [core] Implement CrossFadedDataDrivenProperty to add support for feature ↵Molly Lloyd2018-08-311-10/+5
| | | | expressions in `*-pattern` properties
* [core] Add `line-gradient` propertyMikhail Pozdnyakov2018-08-231-0/+21
| | | | | | | | Porting of https://github.com/mapbox/mapbox-gl-js/pull/6303 See the link above for the description of the feature and its limitations). Based on patch from @lbud (Lauren Budorick).
* [core] Align line vertex to 4-byte boundaryJohn Firebaugh2017-09-081-1/+2
| | | | 10 byte vertices are heavily penalized by common GL implementations.
* [core] Use separate attribute component for line normalsJohn Firebaugh2017-08-081-5/+7
| | | | Broadcom GPUs don't cope well with using the least significant bit for this.
* [core] Enable property functions for line-width (#9250)Lauren Budorick2017-06-191-12/+7
|
* [core] Per-bucket icon atlasesJohn Firebaugh2017-06-131-3/+3
|
* [core] Move pattern coordinate division by texture size into shaderJohn Firebaugh2017-05-231-0/+2
| | | | This makes pattern usage more like icons, and will be necessary for data-driven *-pattern properties.
* [core] Unify {Paint,Layout,Light}PropertiesJohn Firebaugh2017-05-151-3/+3
|
* [core] Add DDS support for {text,icon}-size (#8593)Anand Thakker2017-04-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | * Update gl-js and generate style code * Factor out packUint8Pair() helper function * Draft implementation of DDS for {text,icon}-size Ports https://github.com/mapbox/mapbox-gl-js/pull/4455 * Fix text-size/composite-function-line-placement test * Refactor to PaintPropertyBinders-like strategy * Dedupe gl::Program construction * Use exponential function base for interpolation * Dedupe coveringZoomStops method * Fixup tests * Fix CI errors (hidden within #if block)
* [core] Combine SpriteAtlas::getPosition with SpriteAtlas::getImageJohn Firebaugh2017-02-141-3/+3
|
* [core] Check in generated shader codeJohn Firebaugh2017-02-071-3/+3
| | | | One step toward eliminating the node/npm dependency for platforms other than node.
* [core] Add support for data-driven stylingJohn Firebaugh2017-02-021-44/+32
|
* [core] fix rendering 180° line joinsKonstantin Käfer2017-01-231-1/+1
|
* [core] clearer pitched line antialiasingAnsis Brammanis2016-12-211-9/+8
| | | | | | | | | | ported from -js: ef5582dd3bc5c15a3112e875ed66494dab8e9d0b Project the extrusion and compare it's projected pixel length with the actual pixel length and adjust antialiasing accordingly. The previous approach calculated the adjustment much more indirectly and had no intuitive explanation.
* [core] Convert style properties to a tuple-based approachJohn Firebaugh2016-11-171-7/+4
| | | | | | | | This converts the style property classes (CirclePaintProperties and so on) to the same tuple-based approach as gl::Attribute and gl::Uniform. The approach is outlined in https://github.com/mapbox/cpp/blob/master/C%2B%2B%20Structural%20Metaprogramming.md. The main advantage of this approach is it allows writing algorithms that work on sets of style properties, without resorting to code generation or manually repetitive code. This lets us iterate on approaches to data-driven properties more easily. Another advantage is that the cascading, unevaluated, and evaluated states of a set of properties exist as independent structures, instead of individual properties holding their own state. This is a more functional approach that makes data flow clearer and reduces state.
* [core] update native for line property function shaders changes (#6658)Molly Lloyd2016-11-161-10/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [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
* [core] Use gl::Program to resolve some rough edges in the GL binding typesJohn Firebaugh2016-11-081-0/+3
| | | | | | | | | * 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-0/+184