Commit Graph

52 Commits

Author SHA1 Message Date
Konstantin Käfer
478472e501 [core] add std::move to constructors 2015-12-03 15:38:36 +01:00
Konstantin Käfer
d5fb535058 [core] add namespace comment to closing brace 2015-12-03 15:38:36 +01:00
Konstantin Käfer
dc620f48de [core] Fix std::move() misuse that disables copy elision 2015-12-03 15:38:36 +01:00
John Firebaugh
1d33790dc0 [core] Fix image type of Map::renderStill
It's a premultiplied image. This implies that we were misusing encodePNG
in most cases, as we were passing premultiplied pixels which were then
interpreted as unmultiplied. I changed encodePNG to accept premultipled
pixels, and unpremultiply in the implementations.
2015-11-25 15:57:37 -08:00
John Firebaugh
0c1e378bc9 [core] Rewrite image handling
* Consolidate Image and StillImage
* Typecheck unassociated vs premultiplied images
* Rewrite default platform image decoding implementation
2015-11-25 15:57:36 -08:00
John Firebaugh
36081f6486 [core] For binary image data use uint8_t, not char 2015-11-23 17:28:44 -08:00
Adam Hunter
c958ee45ab Removed couts from headless view. 2015-09-29 15:07:39 -07:00
Adam Hunter
3f9f259619 Added GL logging utility 2015-09-29 15:07:39 -07:00
Adam Hunter
e69a110c23 Renderbuffer create should be paired with renderbuffer delete. 2015-09-17 14:52:04 -07:00
Mike Morris
4540c3c0e8 View::swap -> View::beforeRender View::afterRender
To be able to resize the framebuffer on the map thread
in HeadlessView.
2015-08-25 14:39:49 -04:00
Konstantin Käfer
675ddddee7 Make pixelRatio constant across a Map object lifetime
also moves framebuffer size out of TransformState into its own object
2015-07-08 10:40:05 +02:00
Konstantin Käfer
84e2ea886d drive map rendering from main thread 2015-06-26 10:32:06 -07:00
Konstantin Käfer
f4707f72e0 Replace mbgl::util::make_unique<> with std::make_unique<> 2015-05-26 17:57:38 +02:00
John Firebaugh
7d4f12434e Ensure call-once semantics inside InitializeExtensions 2015-05-13 19:01:58 -07:00
John Firebaugh
a2344c36c3 Extensible GL extension support 2015-05-13 19:01:58 -07:00
John Firebaugh
0f7c6b0b52 Remove unused GL feature flags
These were used only for prerendered textures, which were removed.
2015-05-13 19:01:57 -07:00
John Firebaugh
230027e514 Resize view from map thread 2015-04-28 14:32:24 -04:00
John Firebaugh
6c7a01a503 Following kkaefer's view changes 2015-04-28 14:32:22 -04:00
Konstantin Käfer
b0a30943b4 move most private Map code to MapContext 2015-04-28 14:32:20 -04:00
Konstantin Käfer
46bf226910 align static render mode and still image render mode
- static rendering now also runs in a separate thread; you have to start it with map.start(Map::Mode::Static) and join the thread with map.stop() before destructing the Map object
- map.renderStill() takes a callback with will be invoked on the *map* thread, so you'll have to figure out your own method of dispatching back to the main thread.
2015-04-17 13:40:42 +02:00
Thiago Marcos P. Santos
124b49562d Get rid of printf and cout by using Log::*
Use our logging system that will route the message accordingly on
the target platform.

Fixes #613
2015-03-12 14:19:32 +02:00
Konstantin Käfer
47ede853c4 fixes black flicker on rotating the device
fixes #838

instead of rendering ad libitum on the map thread, we are now driving rendering from the UI thread on iOS via the map.renderSync() function. There are still white bars during the rotation, but the general content of the view is kept visible.

- upgrades GLFW to 3.1
- removes swapped/needsSwap in favor of a more explicit scheme
- View#invalidate() now replaces View#swap() and is called whenever the View needs to trigger a rerender. GLFW and Android to this right away, while iOS goes back to the main thread and does the Map redrawing as part of the GLKView update
- sets all iOS deployment targets to 7.0
- disables SQLite3 version check, since the library version changed on iOS 8.2
2015-03-12 12:16:38 +01:00
Konstantin Käfer
d62bf415f0 Fail early in case there is no display 2015-03-06 16:17:49 +01:00
Konstantin Käfer
e8389d82cd guard against concurrent OpenGL extension loading 2015-03-06 15:42:34 +01:00
Konstantin Käfer
fb44fc81bd make Map::resize() private
they can only be called by View::resize
2015-03-06 13:52:25 +01:00
Mike Morris
e8a2c39365 forward declare GLX typedefs to limit conflicts from glx.h 2015-02-10 13:38:45 -08:00
Leith Bade
89bbd29278 Use std::chrono 2015-02-04 09:39:25 +11:00
Leith Bade
ff3ea3e20b Merge branch 'master' of github.com:mapbox/mapbox-gl-native into android-mason
Conflicts:
	platform/default/glfw_view.cpp
	platform/default/headless_view.cpp
	src/mbgl/map/map.cpp
2014-12-23 11:33:26 +13:00
Leith Bade
0771e50460 Rename View functions to match conventions. Also tidy up view classes and remove C style casts. Closes #656 2014-12-23 09:29:45 +13:00
Leith Bade
df19683b6a Merge branch 'master' of github.com:mapbox/mapbox-gl-native into android-mason
Conflicts:
	Makefile
	platform/default/headless_view.cpp
	src/mbgl/map/map.cpp
2014-12-21 15:02:47 +13:00
Konstantin Käfer
40a5bcd7d3 never create core profile contexts; their API is subtly different
(e.g. glGetString(GL_EXTENSIONS) doesn't work, you'd have to use glGetStringi(GL_EXTENSIONS, ...);)
2014-12-16 11:10:41 +00:00
Konstantin Käfer
9082a83d6a don't assing nullptr to std::string 2014-12-16 11:42:58 +01:00
Leith Bade
d599fc5504 Merge branch 'master' of github.com:mapbox/mapbox-gl-native into android-mason
Conflicts:
	platform/default/glfw_view.cpp
	platform/default/headless_view.cpp
	src/mbgl/renderer/painter.cpp
	src/mbgl/renderer/prerendered_texture.cpp
2014-12-11 00:09:26 +11:00
Konstantin Käfer
93d56294cf update error reporting function 2014-12-10 13:21:08 +01:00
Leith Bade
0808485453 Use CHECK_ERROR on every GL call 2014-12-10 21:57:34 +11:00
Leith Bade
6bb1a5a146 Merge branch 'master' of github.com:mapbox/mapbox-gl-native into android-mason
Conflicts:
	include/mbgl/platform/default/headless_view.hpp
	platform/default/glfw_view.cpp
	platform/default/headless_view.cpp
2014-12-10 19:22:25 +11:00
Konstantin Käfer
5ccc988ff7 fix typo 2014-12-09 14:55:32 +01:00
Leith Bade
d2792e2987 Tidy up HeadlessView 2014-12-09 21:47:30 +11:00
Leith Bade
886b622a92 Add pakced depth stencil to GLFWView and HeadlessView 2014-12-07 00:40:44 +11:00
Leith Bade
14cdd9c96f Rename lots of things 2014-12-04 01:10:43 +11:00
Leith Bade
94d34ce7ac Merge branch 'master' of github.com:mapbox/mapbox-gl-native into android-mason
Conflicts:
	src/map/map.cpp
2014-12-03 22:02:55 +11:00
Konstantin Käfer
82f3574d09 add array overloads to make_unique and move it to mbgl::util from std 2014-12-03 11:27:24 +01:00
Leith Bade
0935cef9c3 Fix tests when using GL 3.0+ context 2014-12-02 21:40:23 +11:00
Mike Morris
7e7b85e132 fix memcpy includes/namespace 2014-12-01 13:49:47 -08:00
Mike Morris
0fd7f26533 move pixel flip from headless test into HeadlessView::readPixels 2014-12-01 16:36:11 -05:00
Mike Morris
c542bd1140 repair undef None GLX wrapper, pass 0 instead of None to GLX functions 2014-11-10 15:06:56 -05:00
Konstantin Käfer
8fe8b2f739 add glx support 2014-11-07 09:38:07 -08:00
Konstantin Käfer
582d616deb load VAO extension 2014-11-07 18:17:24 +01:00
Konstantin Käfer
e3bc69b7e7 use CoreImage for decoding/encoding images on osx/ios 2014-10-30 12:02:28 -04:00
Konstantin Käfer
0e928b5204 make tests work 2014-10-24 17:44:51 +02:00