package.renderer.webgl.TileLayer.d.ts Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ol Show documentation
Show all versions of ol Show documentation
OpenLayers mapping library
The newest version!
export const Uniforms: {
TILE_TEXTURE_ARRAY: string;
TEXTURE_PIXEL_WIDTH: string;
TEXTURE_PIXEL_HEIGHT: string;
TEXTURE_RESOLUTION: string;
TEXTURE_ORIGIN_X: string;
TEXTURE_ORIGIN_Y: string;
TILE_TRANSFORM: string;
TRANSITION_ALPHA: string;
DEPTH: string;
RENDER_EXTENT: string;
PATTERN_ORIGIN: string;
RESOLUTION: string;
ZOOM: string;
GLOBAL_ALPHA: string;
PROJECTION_MATRIX: string;
SCREEN_TO_WORLD_MATRIX: string;
};
export namespace Attributes {
let TEXTURE_COORD: string;
}
export default WebGLTileLayerRenderer;
export type Options = {
/**
* Vertex shader source.
*/
vertexShader: string;
/**
* Fragment shader source.
*/
fragmentShader: string;
/**
* Additional uniforms
* made available to shaders.
*/
uniforms?: {
[x: string]: import("../../webgl/Helper.js").UniformValue;
} | undefined;
/**
* Palette textures.
*/
paletteTextures?: import("../../webgl/PaletteTexture.js").default[] | undefined;
/**
* The texture cache size.
*/
cacheSize?: number | undefined;
/**
* Post-processes definitions.
*/
postProcesses?: import("./Layer.js").PostProcessesOptions[] | undefined;
};
export type TileTextureType = import("../../webgl/TileTexture.js").TileType;
export type TileTextureRepresentation = import("../../webgl/TileTexture.js").default;
/**
* @typedef {Object} Options
* @property {string} vertexShader Vertex shader source.
* @property {string} fragmentShader Fragment shader source.
* @property {Object} [uniforms] Additional uniforms
* made available to shaders.
* @property {Array} [paletteTextures] Palette textures.
* @property {number} [cacheSize=512] The texture cache size.
* @property {Array} [postProcesses] Post-processes definitions.
*/
/**
* @typedef {import("../../webgl/TileTexture.js").TileType} TileTextureType
*/
/**
* @typedef {import("../../webgl/TileTexture.js").default} TileTextureRepresentation
*/
/**
* @classdesc
* WebGL renderer for tile layers.
* @template {import("../../layer/WebGLTile.js").default|import("../../layer/Flow.js").default} LayerType
* @extends {WebGLBaseTileLayerRenderer}
* @api
*/
declare class WebGLTileLayerRenderer extends WebGLBaseTileLayerRenderer {
/**
* @param {LayerType} tileLayer Tile layer.
* @param {Options} options Options.
*/
constructor(tileLayer: LayerType, options: Options);
/**
* @type {WebGLProgram}
* @private
*/
private program_;
/**
* @private
*/
private vertexShader_;
/**
* @private
*/
private fragmentShader_;
/**
* Tiles are rendered as a quad with the following structure:
*
* [P3]---------[P2]
* |` |
* | ` B |
* | ` |
* | ` |
* | A ` |
* | ` |
* [P0]---------[P1]
*
* Triangle A: P0, P1, P3
* Triangle B: P1, P2, P3
*
* @private
*/
private indices_;
/**
* @type {Array}
* @private
*/
private paletteTextures_;
/**
* @param {Options} options Options.
* @override
*/
override reset(options: Options): void;
/**
* @override
*/
override createTileRepresentation(options: any): TileTexture;
/**
* @override
*/
override beforeTilesRender(frameState: any, tilesWithAlpha: any): void;
/**
* @override
*/
override renderTile(tileTexture: any, tileTransform: any, frameState: any, renderExtent: any, tileResolution: any, tileSize: any, tileOrigin: any, tileExtent: any, depth: any, gutter: any, alpha: any): void;
/**
* @param {import("../../pixel.js").Pixel} pixel Pixel.
* @return {Uint8ClampedArray|Uint8Array|Float32Array|DataView} Data at the pixel location.
* @override
*/
override getData(pixel: import("../../pixel.js").Pixel): Uint8ClampedArray | Uint8Array | Float32Array | DataView;
}
import TileTexture from '../../webgl/TileTexture.js';
import WebGLBaseTileLayerRenderer from './TileLayerBase.js';
//# sourceMappingURL=TileLayer.d.ts.map