@itwin/core-common
Version:
iTwin.js components common to frontend and backend
57 lines • 2.99 kB
TypeScript
/** @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