summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/painter_symbol.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [core] Cleanup symbol clippingBruno de Oliveira Abinader2016-11-181-13/+5
|
* [core] Convert style properties to a tuple-based approachJohn Firebaugh2016-11-171-2/+2
| | | | | | | | 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] Use indexed rendering for collision boxesJohn Firebaugh2016-11-151-1/+3
|
* [core] Use gl::Program to resolve some rough edges in the GL binding typesJohn Firebaugh2016-11-081-15/+12
| | | | | | | | | * 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-17/+17
|
* [core] force explicit initialization of uniform valuesKonstantin Käfer2016-11-071-4/+4
| | | | force users to use the actual names to avoid implicit conversion accidentally targeting the wrong shader
* [core] remove Uniforms::value in favor of direct constructionKonstantin Käfer2016-11-071-2/+2
|
* [core] convert LineAtlas to use managed texture handlingKonstantin Käfer2016-11-011-1/+1
|
* [core] convert GlyphAtlas to use managed texture handlingKonstantin Käfer2016-11-011-1/+1
|
* [core] convert SpriteAtlas to use managed texture handlingKonstantin Käfer2016-11-011-2/+2
|
* Revert "[core] Don't use GL_LINEAR if panning w/o rotation nor pitch"Bruno de Oliveira Abinader2016-11-011-1/+1
| | | | This reverts commit a70bfd89108cf1aef75181819ae43e550a69255e.
* [core] Don't use GL_LINEAR if panning w/o rotation nor pitchBruno de Oliveira Abinader2016-10-311-1/+1
|
* [core] Use overscaledZ for scale in collision box shaderBruno de Oliveira Abinader2016-10-311-1/+2
|
* [core] Modern C++ bindings for OpenGLJohn Firebaugh2016-10-281-220/+91
|
* [core] change std::array<uint16_t, 2> to mbgl::SizeKonstantin Käfer2016-10-271-1/+1
|
* [core] Disable stencil test when rendering collision boxesBruno de Oliveira Abinader2016-10-121-3/+1
|
* [core] Rationalize shader namesJohn Firebaugh2016-10-061-5/+5
| | | | {layer type}{subtype}Shader
* [core] remove dependence on gl.h typesKonstantin Käfer2016-09-291-12/+14
|
* [core] merge gl::ObjectStore into gl::ContextKonstantin Käfer2016-09-271-9/+9
|
* [core] rename gl::Config to gl::ContextKonstantin Käfer2016-09-271-25/+25
|
* [core] track VAOs and BuffersKonstantin Käfer2016-09-261-6/+5
|
* [core] Don't use depth test unless text is pitch-aligned to map (#6404)Young Hahn2016-09-221-8/+4
| | | | | | | | | | | | | | | | * [core, ios, android] Use `auto` value for properties with calculated defaults * Fix render tests * [core] Don't use depth test unless text is pitch-aligned to map. * Bump mapbox-gl-test-suite * TransformState pitch is already in radians * Reduce setDepthSublayer calls * Bump test suite
* [core] Merge GlyphStore and GlyphAtlasJohn Firebaugh2016-09-191-1/+1
|
* [core] change bool overdraw to PaintMode::OverdrawKonstantin Käfer2016-09-071-4/+4
|
* [core] Move translatedMatrix to RenderTileJohn Firebaugh2016-07-111-4/+5
|
* [core] Pass RenderTile rather than individual parametersJohn Firebaugh2016-07-111-15/+12
|
* [core] Introduce PaintParametersJohn Firebaugh2016-07-111-6/+7
| | | | Use it to DRY selection of regular vs. overdraw shaders and VAOs.
* [core] Introduce non-anonymous Shaders classJohn Firebaugh2016-07-111-7/+5
|
* [core] track texture state to avoid redundand bindsKonstantin Käfer2016-07-081-10/+4
|
* [core] Make extrudeScale calculations more similar to JSJohn Firebaugh2016-07-071-14/+19
|
* [core] move shaders to anon struct and alias themKonstantin Käfer2016-07-071-19/+20
|
* [core] Fix overdraw mode on LinuxBruno de Oliveira Abinader2016-07-011-16/+19
| | | | | | | | | | - Use glBindAttribLocation for GLSL attributes. - Create a separate shader for each shader that supports overdraw. Needed because each uniform location must be known for every program. - Create a separate VAO for each shader inside buckets. Needed because we can only bind a VAO to a specific shader. Fixes #5435.
* [core] s/Wireframe/Overdraw/gBruno de Oliveira Abinader2016-06-201-2/+2
|
* [core] Refactor wireframe to match JS overdraw modeBruno de Oliveira Abinader2016-06-201-2/+2
|
* Color class (#5361)Young Hahn2016-06-151-2/+2
| | | | | | * Color class * Switch to list initialization
* [tidy] Check llvm-namespace-commentBruno de Oliveira Abinader2016-06-131-1/+1
| | | | Ref: http://clang.llvm.org/extra/clang-tidy/checks/llvm-namespace-comment.html
* text-pitch-alignment (#5288)Young Hahn2016-06-101-10/+20
| | | | | | | | | | | | * First pass at port of https://github.com/mapbox/mapbox-gl-js/pull/2668 * RotationAlignmentType => AlignmentType * Handle undefined default value for text-pitch-alignment and implement inheritance for this value from text-rotation-alignment * Update dependencies * Move handling fo undefined default value out of camelize functions
* [core] Rationalize naming for style-related codeJohn Firebaugh2016-06-021-2/+7
|
* [core] Runtime style layer APIJohn Firebaugh2016-06-021-5/+5
|
* [core] s/GLObjectStore/ObjectStore/Bruno de Oliveira Abinader2016-06-011-9/+9
|
* [core] Update sdf shader codeBruno de Oliveira Abinader2016-06-011-21/+15
| | | | | Ported the following patch: - [convert mat4 exMatrix to a vec2 extrudeScale](https://github.com/mapbox/mapbox-gl-shaders/commit/a8d549b7a41540d3a99767975ff1b7b18a6010e9)
* [core] Update icon shader codeBruno de Oliveira Abinader2016-06-011-23/+9
| | | | | Ported the following patch: - [convert mat4 exMatrix to a vec2 extrudeScale](https://github.com/mapbox/mapbox-gl-shaders/commit/a8d549b7a41540d3a99767975ff1b7b18a6010e9)
* [core] Port "separate u_opacity from u_color"John Firebaugh2016-05-251-16/+2
| | | | | https://github.com/mapbox/mapbox-gl-shaders/commit/0d3412519618a3a1672db9fa21f96f90070cf84c https://github.com/mapbox/mapbox-gl-js/commit/1f5afa7db08a2bdcc492a46e500ff5d020e6f4a2
* [core] box_shader ⇢ collision_box_shaderJohn Firebaugh2016-05-251-1/+1
|
* [core] Restore default texture unitThiago Marcos P. Santos2016-05-231-0/+1
| | | | Play nice with the GL context when we are sharing it.
* [core] better symbol fading with texture lookups (#4579)Ansis Brammanis2016-05-201-17/+7
| | | | | | | | | - this is simpler than predicting opacity based on current zooming speed - this is smoother: symbols don't flicker when changing zoom speed or when zooming in and out rapidly. https://github.com/mapbox/mapbox-gl-js/commit/1df146627092b58c8db64d45530c74cd12a3fa02 fix #4562
* [core] Added Viewport modeBruno de Oliveira Abinader2016-05-111-2/+4
| | | | | | Satisfies embedding platforms that requires the viewport coordinate systems to be set according to its standards e.g. viewport mirrored vertically.
* [core] move TileData and dependents to new *TileID classesKonstantin Käfer2016-05-101-1/+0
|
* [core] move Painter and dependents to new *TileID classesKonstantin Käfer2016-05-101-10/+15
|
* [core] Quarantine style property irregularities in layer classes (#4792)John Firebaugh2016-04-221-3/+3
| | | This moves the *{Layout,Paint}Properties classes closer to code generation.