Commit Graph

54 Commits

Author SHA1 Message Date
Tom Payne
35ee45cefc Use local variable for texCoordMatrix 2013-03-22 17:25:58 +01:00
Tom Payne
66efba8824 Promote projectionMatrix and texCoordMatrix into base class 2013-03-22 17:25:53 +01:00
Tom Payne
cc41d720fa Manage buffers in WebGL map renderer 2013-03-22 17:25:47 +01:00
Tom Payne
ecd5158012 Add ol.renderer.webgl.Layer.getWebGLMapRenderer
This improves the type checking.
2013-03-22 17:25:42 +01:00
Tom Payne
f770be297d Use ol.math.roundUpToPowerOfTwo 2013-03-22 17:25:36 +01:00
Tom Payne
6c32170a08 Promote texture and framebuffer management into base class 2013-03-22 17:25:27 +01:00
Éric Lemoine
1d575309da Tile renderers needn't listen for tile change 2013-03-21 10:29:01 +01:00
Tom Payne
8b5194da38 Merge pull request #338 from twpayne/snap-center-to-pixel2
Snap center to pixel
2013-03-11 08:41:28 -07:00
Tom Payne
bceb27f4bb Use snapCenterToPixel in WebGL renderer 2013-03-10 16:14:15 +01:00
Tom Payne
b729f969a7 Add EMPTY tile state instead of using null for empty tiles 2013-03-08 14:41:14 +01:00
Éric Lemoine
f55423d575 Register change listeners for loading tiles only
With this commit we register a change listener at a time when we are guaranteed that the listener will be called. In this was we don't need to remove listeners when the tile is dropped from the tile queue. And to avoid busy-polling between IDLE and LOADING we rely on the map to call requestRenderFrame when new tiles change to LOADING from IDLE.
2013-03-07 11:03:20 +01:00
Éric Lemoine
4e758f87ae Do not register multiple listeners on same tile 2013-03-05 17:01:34 +01:00
ahocevar
66b790294d Merge branch 'master' of github.com:openlayers/ol3 into wms-improvements
Conflicts:
	src/ol/source/tiledwmssource.js
	test/spec/ol/tileurlfunction.test.js
2013-03-05 00:55:52 +01:00
ahocevar
586f393492 Support tile sources without configured projection
This change adds a lot of flexibility to working with tile
layers: Sources where the server projection or tile grid do not
matter can now be constructed without specifying a projection or
tile grid.

The tileUrlFunction/imageUrlFunction now also creates updated
URLs when the params of the layer change, so things like
mergeNewParams in ol2 will be possible.

A nice side effect of this whole change is that there is no more
duplicated code between tiled and single image WMS layers.

While I was at it, I also fixed a WMS 1.1.1 axis order issue
and incorrect STYLES params (STYLES=& instead of STYLES&).
2013-03-05 00:46:58 +01:00
Tom Payne
08dbeed23f Rename WebGL variables to match CSS shaders specification
See https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.htm
2013-03-04 19:45:43 +01:00
Bruno Binet
2816e3256c Add support for multiple tileSizes in the tilegrid.
This is needed by WMTS.
2013-03-03 20:43:46 +01:00
Tom Payne
6ce3ebba5b Merge pull request #226 from twpayne/preserve-low-resolution-tiles
Preserve low resolution tiles
2013-02-22 02:14:41 -08:00
Tom Payne
4c9b70fa5c Move useLowResolutionTiles from layer renderer to tile source 2013-02-21 16:47:10 +01:00
Tom Payne
47e799ced0 Mark all low resolution tiles as used to prevent cache expiration 2013-02-21 16:19:38 +01:00
Tom Payne
fabcb313f1 Satisfy JSLint
JSLint complains about functions being declared in blocks.
2013-02-21 15:13:33 +01:00
Tim Schaub
80dc7b5bf7 Accept custom isLoaded method in findLoadedTiles method 2013-02-19 12:13:58 -07:00
Tim Schaub
ddf993f0c9 Factor out common code and test
The findInterimTiles method was used in three renderers.  This change makes it available on the tile source and adds some basic tests.
2013-02-18 14:18:08 -07:00
Éric Lemoine
02843939e3 Add ol.renderer.webgl.ImageLayer 2013-02-14 23:36:36 +01:00
Éric Lemoine
de7a1d8f81 Apply transform matrix to text coords
With this commit the transform matrix is applied to each texture coordinate, as opposed to each fragment. This leads to less calculation on the GPU.
2013-02-14 09:56:45 +01:00
Tim Schaub
3c4d218ec5 Only listen for first event 2013-02-07 14:06:05 -07:00
Tim Schaub
e079c19413 Don't repeatedly render while waiting for tiles to load
Instead of going into an unnecessary animation loop, we can simply wait to be notified when tiles load.

The WebGL renderer still sets frameState.animate true, but I think this too should be unnecessary (full page example works without it, side-by-side example shows it cannot yet be removed).
2013-02-06 16:10:46 -07:00
Tim Schaub
2bd29ff60e Only track tiles that are actually wanted
Instead of keeping track of wanted tile ranges, we can instead track wanted tiles individually.  This provides enough for the map to know how to prioritize tiles and should be more efficient (no extra calls to extend tile ranges or check for tile containment within a range).
2013-02-06 16:08:24 -07:00
Tom Payne
e6eb401e36 Add missing goog.requires 2013-01-30 23:47:13 +01:00
Tom Payne
b6f856f962 Remove unused goog.requires 2013-01-30 22:48:03 +01:00
Tom Payne
b770aaa2f5 Add tile cache expiry infrastructure 2013-01-23 14:31:24 +01:00
Tom Payne
4846a6a7b3 Only update wanted tiles if not all tiles are loaded 2013-01-19 15:03:01 +01:00
Tom Payne
3ec2014ad1 Rename tileUsage to usedTiles 2013-01-19 15:03:01 +01:00
Tom Payne
1c524caae6 Discard unwanted tiles from tile queue 2013-01-19 15:03:01 +01:00
Tom Payne
b880ab80ee Factor out updateTileUsage 2013-01-17 11:51:38 +01:00
Tom Payne
9fbabc3696 Refactor attribution control 2013-01-16 16:34:31 +01:00
Tom Payne
8ced15ce2e Move closure out of loop, and use loop rather than forEachTileCoord 2013-01-14 16:21:58 +01:00
Tom Payne
0916f14536 Use a loop rather than tileRange.forEachTileCoord 2013-01-14 16:21:58 +01:00
Tom Payne
97207e5723 Remove rarely-used logger 2013-01-12 19:01:09 +01:00
Tom Payne
be28fb4ccc Don't try to overload method return type 2013-01-12 18:58:36 +01:00
Tom Payne
655b6a1b00 Always free WebGL resources in post render 2013-01-12 18:57:50 +01:00
Tom Payne
92d3d001c0 Merge pull request #108 from twpayne/texture-uploads
Prioritize and throttle texture uploads
2013-01-12 03:27:37 -08:00
Tom Payne
6d44736e2f Prioritize and throttle texture uploads 2013-01-12 02:32:53 +01:00
Tom Payne
52df441cf8 Add tile queue 2013-01-11 16:18:07 +01:00
Tom Payne
f00e299039 Register post-render functions instead of using an event 2013-01-11 15:49:21 +01:00
Tom Payne
f3cace499c Implement frame state and animation architecture 2013-01-11 15:48:24 +01:00
Tom Payne
97d83666a6 Factor out ImageTile and ImageTileSource 2013-01-11 01:18:57 +01:00
Éric Lemoine
927cffb2b7 Add view abstraction 2013-01-09 14:03:16 +01:00
Tom Payne
b40085ca41 Fix non-view-related typecasts in ol.renderer.webgl.TileLayer 2013-01-07 13:19:00 +01:00
Tom Payne
118b233457 More strict matrix type 2013-01-05 12:17:37 +01:00
Tom Payne
8c44dcf83a Add some WebGL renderer FIXMEs 2013-01-03 12:23:50 +01:00