UNPKG

@itwin/core-common

Version:

iTwin.js components common to frontend and backend

57 lines 2.99 kB
/** @packageDocumentation * @module Rendering */ import { Id64String } from "@itwin/core-bentley"; /** Identifies an image to be used to produce a [[RenderTexture]] for a given purpose - for example, * as part of a [[SkyBox]]. If the string is a valid `Id64String`, it refers to a persistent [Texture]($backend) element stored in an iModel. * Otherwise, it is interpreted as a Url resolving to an HTMLImageElement. * @see [[SkySphereImageProps.texture]] and [[SkyCubeImageProps]]. * @public */ export type TextureImageSpec = Id64String | string; /** Represents a texture image applied to a surface during rendering. * A RenderTexture is typically - but not always - associated with a [[RenderMaterial]]. * @see [RenderSystem.createTexture]($frontend) to obtain a texture. * @see [RenderSystem.createTextureFromElement]($frontend) to obtain a texture from a [Texture]($backend) element. * @public */ export declare abstract class RenderTexture implements Disposable { /** Indicates the type of texture. */ readonly type: RenderTexture.Type; /** Used for ordered comparisons, e.g. in DisplayParams.compareForMerge */ private readonly _guid; get isTileSection(): boolean; get isGlyph(): boolean; get isSkyBox(): boolean; abstract get bytesUsed(): number; protected constructor(type: RenderTexture.Type); /** Releases any WebGL resources owned by this texture. * For a texture created by a [RenderSystem]($frontend) for which [CreateTextureArgs.ownership]($frontend) was specified as "external", * the caller is responsible for invoking this method when it is finished using the texture; otherwise, the [RenderSystem]($frontend) will handle * its disposal. */ [Symbol.dispose](): void; /** @deprecated in 5.0 - will not be removed until after 2026-06-13. Will be made protected in a future release. Use [Symbol.dispose] instead. */ abstract dispose(): void; /** An [OrderedComparator]($bentley) that compares this texture against `other`. */ compare(other: RenderTexture): number; } /** @public */ export declare namespace RenderTexture { /** The types of [[RenderTexture]]s that can be created by a [RenderSystem]($frontend). */ enum Type { /** An image applied to a surface, with support for mip-mapping and repetition. */ Normal = 0, /** An image containing any number of text glyphs, used for efficiently rendering readable small text. */ Glyph = 1, /** A non-repeating image with no mip-maps, used for example for reality models. */ TileSection = 2, /** A three-dimensional texture used for rendering a skybox. */ SkyBox = 3, /** A non-repeating image with mip-maps and and anisotropic filtering, used for map tiles when draped on terrain. */ FilteredTileSection = 4, /** A gradient image used for thematic display. */ ThematicGradient = 5 } } //# sourceMappingURL=RenderTexture.d.ts.map