diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2015-03-16 19:30:08 +0100 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2015-03-17 12:30:40 +0100 |
commit | 48c55af5c1d39e9a29cdb2e0c8203e6767f76c57 (patch) | |
tree | b81115238586a172be3acc487822cd27f12efe79 /test/fixtures/sprites | |
parent | 0b1faba36920be2c9343c912b4817448f5659f71 (diff) | |
download | qtlocation-mapboxgl-48c55af5c1d39e9a29cdb2e0c8203e6767f76c57.tar.gz |
fix sprites for pixel ratios that are not 1 and 2
- OpenGL ES 2 doesn't allow NPOT textures with wrap-around
- The Sprite object reported the map's pixelRatio, even though it loaded @2x assets
- Copying icons from the sprite into the atlas now uses bilinear scaling to scale up to the actual size
Diffstat (limited to 'test/fixtures/sprites')
-rw-r--r-- | test/fixtures/sprites/atlas_reference.bin | bin | 0 -> 8137 bytes | |||
-rw-r--r-- | test/fixtures/sprites/atlas_reference.png | bin | 0 -> 9109 bytes | |||
-rw-r--r-- | test/fixtures/sprites/bright.bin | bin | 0 -> 68824 bytes | |||
-rw-r--r-- | test/fixtures/sprites/convert_sprite.js | 19 |
4 files changed, 19 insertions, 0 deletions
diff --git a/test/fixtures/sprites/atlas_reference.bin b/test/fixtures/sprites/atlas_reference.bin Binary files differnew file mode 100644 index 0000000000..57eb28bd93 --- /dev/null +++ b/test/fixtures/sprites/atlas_reference.bin diff --git a/test/fixtures/sprites/atlas_reference.png b/test/fixtures/sprites/atlas_reference.png Binary files differnew file mode 100644 index 0000000000..86fad30983 --- /dev/null +++ b/test/fixtures/sprites/atlas_reference.png diff --git a/test/fixtures/sprites/bright.bin b/test/fixtures/sprites/bright.bin Binary files differnew file mode 100644 index 0000000000..3aee130074 --- /dev/null +++ b/test/fixtures/sprites/bright.bin diff --git a/test/fixtures/sprites/convert_sprite.js b/test/fixtures/sprites/convert_sprite.js new file mode 100644 index 0000000000..ba4ff5c29f --- /dev/null +++ b/test/fixtures/sprites/convert_sprite.js @@ -0,0 +1,19 @@ +// Converts a PNG image to a custom "image format" that has a uint32_t width/height prefix and then +// raw RGBA data. We can't use the built-in PNG reading routines because they are reading +// premultiplied images by default. + +var fs = require('fs'); +var zlib = require('zlib'); +var PNG = require('png-js'); +var png = PNG.load('styles/sprites/bright.png'); +png.decodePixels(function(data) { + var result = new Buffer(8 + data.length); + result.writeUInt32BE(png.width, 0); + result.writeUInt32BE(png.height, 4); + data.copy(result, 8); + + zlib.deflate(result, function(err, data) { + if (err) throw err; + fs.writeFileSync('test/fixtures/sprites/bright.bin', data); + }); +}); |