summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/painter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [core] Per-segment-per-layer vertex arraysJohn Firebaugh2017-07-121-4/+11
| | | | Reduces rebinding, matches gl-js, and works around the buggy VAO implementation on PowerVR SGX544 GPUs.
* [core] Rework attribute binding (again)John Firebaugh2017-07-121-1/+1
| | | | | | | | | | These changes are necessary for programs whose set of active attributes is not fixed at compile time by a template parameter pack, but rather varies based on the generated shader text at runtime. In such cases, the attribute location of a given named attribute may vary between instances of the same Program. Previously, attribute bindings were implicitly associated with a location based on template parameter order, and -1 was used to indicate an inactive attribute. This left us unable to disable the appropriate attribute when it went from active to inactive. Now, the state tracker for bindings explicitly associates locations and state, and an empty optional is used to indicate an inactive attribute. In addition, a gl::VertexArray class is now exposed, allowing more flexibility in the relationship between Programs, Segments, and attribute bindings. In this commit, that relationship does not change, but the subsequent commit adjusts it to match gl-js, reduce rebinds, and work around buggy VAO implementations. VertexArray uses a pimpl idiom in order to support implementations that lack the VAO extension. In that case, all VertexArrays share global binding state, reflecting the platform reality in the absence of VAOs, while still providing a uniform API.
* [core] rename getStencils() to getClipIDs() to better reflect what it ↵Konstantin Käfer2017-07-061-3/+3
| | | | actually does
* [core] Refactor CustomLayer internalsJohn Firebaugh2017-06-221-15/+0
| | | | Move the responsibility for initialization/deinitialization/rendering to RenderCustomLayer. This eliminates special case code from Map and Style.
* [core] Enable property functions for line-width (#9250)Lauren Budorick2017-06-191-1/+1
|
* [core] Obey "transition" property from style and its default valueJohn Firebaugh2017-06-151-2/+2
|
* [core] Dynamic program compilation for data-driven propertiesJohn Firebaugh2017-06-131-1/+1
|
* [core] Per-bucket icon atlasesJohn Firebaugh2017-06-131-4/+3
|
* [core] Per-bucket glyph atlasesJohn Firebaugh2017-06-131-3/+0
|
* [core] Merge RenderLayer::uploadBuckets into RenderSource::startRenderJohn Firebaugh2017-06-131-4/+0
|
* [core] Parallelism in {start,finish}Render parametersJohn Firebaugh2017-06-131-6/+3
|
* [core] Split RenderStyle from StyleJohn Firebaugh2017-06-051-2/+2
|
* Refactor RenderLayer and RenderSource to be more friendly for Non-tiled ↵Asheem Mamoowala2017-05-261-19/+10
| | | | sources (#9058)
* [core] Don't use a separate SpriteAtlas for annotation imagesJohn Firebaugh2017-05-261-2/+1
| | | | Instead, just add them to the Style as needed. Includes changes from #8905 and takes care to avoid regressing #3817.
* [core] Unify {Paint,Layout,Light}PropertiesJohn Firebaugh2017-05-151-1/+1
|
* [core] Move renderer/* files into sub-folders (#8983)Asheem Mamoowala2017-05-121-3/+3
| | | Move renderer/* files into sub-folders
* [core] Immutable ImplsJohn Firebaugh2017-05-121-8/+8
|
* [core] render lightIvo van Dongen2017-05-081-1/+1
|
* [core] Reuse fill-extrusion textures between frames (#8896)Lauren Budorick2017-05-081-9/+10
|
* [core] Refactor Source::*Impls into RenderSources and TilePyramidJohn Firebaugh2017-05-021-3/+5
|
* [core] Render fill-extrusion layers (#8431)Lauren Budorick2017-04-271-8/+70
|
* [core] split off render layersIvo van Dongen2017-04-251-10/+10
|
* [core] Refactor OpenGL extension loading mechanismKonstantin Käfer2017-03-231-11/+11
| | | | Previously, we initialized global variables that held pointers to the extension functions. While this seemed to work, the spec doesn't guarantee that the function pointers are identical for different OpenGL contexts. Therefore, we are now making them a member variable of the Context object.
* [core] Move OpenGL extension initialization to BackendKonstantin Käfer2017-03-231-2/+0
|
* [core] cache binary shaders on AndroidKonstantin Käfer2017-03-221-6/+10
|
* [core] Add support for data-driven stylingJohn Firebaugh2017-02-021-12/+12
|
* [core] remove trailing whitespace, add trailing newlines, add space after //Konstantin Käfer2017-01-271-1/+1
|
* [core] Restore GL_KHR_debug messages in release buildsJohn Firebaugh2017-01-171-2/+0
| | | | This reverts commit 8c4da72d09e585bd10d030129c99e1e609a2d2f9.
* [core] Use indexed rendering everywhereJohn Firebaugh2016-12-011-25/+31
|
* [build] move logging to utilKonstantin Käfer2016-11-221-1/+1
|
* [core] Sort symbol render tiles prior to renderingBruno de Oliveira Abinader2016-11-181-1/+1
|
* [core] update native for line property function shaders changes (#6658)Molly Lloyd2016-11-161-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [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] Introduce SegmentVectorJohn Firebaugh2016-11-151-2/+5
|
* [core] Use gl::Program to resolve some rough edges in the GL binding typesJohn Firebaugh2016-11-081-20/+34
| | | | | | | | | * 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-9/+9
|
* [core] Make attribute binding more similar to uniform bindingJohn Firebaugh2016-11-081-15/+15
|
* [core] remove gl.hpp from all headers that don't need itKonstantin Käfer2016-11-041-2/+1
|
* [core] Modern C++ bindings for OpenGLJohn Firebaugh2016-10-281-51/+52
|
* [core] change std::array<uint16_t, 2> to mbgl::SizeKonstantin Käfer2016-10-271-1/+1
|
* [core] move gl::Context to Backend and refactor ViewKonstantin Käfer2016-10-251-17/+18
|
* [core] separate Backend from View for headless renderingKonstantin Käfer2016-10-251-11/+14
|
* [core] Rationalize shader namesJohn Firebaugh2016-10-061-2/+2
| | | | {layer type}{subtype}Shader
* [core] Adhere to vertices/vertexBuffer naming conventionJohn Firebaugh2016-10-051-3/+3
|
* [core] Move shader and uniform to gl directoryJohn Firebaugh2016-10-051-1/+1
|
* [core] Refactor BufferJohn Firebaugh2016-10-051-4/+22
|
* [core] only load debug extensions in debug modeKonstantin Käfer2016-09-291-0/+2
|
* [core] remove dependence on gl.h typesKonstantin Käfer2016-09-291-20/+23
|
* [core] merge gl::ObjectStore into gl::ContextKonstantin Käfer2016-09-271-15/+17
|
* [core] rename gl::Config to gl::ContextKonstantin Käfer2016-09-271-49/+49
|
* [core] move GL value accessors to gl::value namespaceKonstantin Käfer2016-09-271-4/+4
|