Lazily create the WebGL helper

This commit is contained in:
Tim Schaub
2021-11-13 11:14:59 -07:00
parent 1d94477ed3
commit 0dfbedb099
10 changed files with 236 additions and 72 deletions

View File

@@ -5,12 +5,16 @@ import TileState from '../../../../../src/ol/TileState.js';
import TileTexture from '../../../../../src/ol/webgl/TileTexture.js';
import WebGLArrayBuffer from '../../../../../src/ol/webgl/Buffer.js';
import WebGLTileLayer from '../../../../../src/ol/layer/WebGLTile.js';
import {EXTENT as EPSG3857_EXTENT} from '../../../../../src/ol/proj/epsg3857.js';
import {createCanvasContext2D} from '../../../../../src/ol/dom.js';
describe('ol.webgl.TileTexture', function () {
describe('ol/webgl/TileTexture', function () {
/** @type {TileTexture} */
let tileTexture;
/** @type {import("../../../../../src/ol/renderer/webgl/TileLayer.js").default} */
let renderer;
beforeEach(function () {
const layer = new WebGLTileLayer({
source: new DataTileSource({
@@ -24,10 +28,16 @@ describe('ol.webgl.TileTexture', function () {
},
}),
});
const renderer =
/** @type {import("../../../../../src/ol/renderer/webgl/TileLayer.js").default} */ (
layer.createRenderer()
);
renderer = layer.createRenderer();
renderer.prepareFrame({
extent: EPSG3857_EXTENT,
layerIndex: 0,
layerStatesArray: [layer.getLayerState()],
size: [256, 256],
mapId: 'map-1',
});
tileTexture = new TileTexture(
layer.getSource().getTile(3, 2, 1),
layer.getSource().getTileGrid(),
@@ -35,6 +45,10 @@ describe('ol.webgl.TileTexture', function () {
);
});
afterEach(() => {
renderer.dispose();
});
it('constructor', function () {
expect(tileTexture.tile.tileCoord).to.eql([3, 2, 1]);
expect(tileTexture.coords).to.be.a(WebGLArrayBuffer);