@luma.gl/core
Version:
The luma.gl core Device API
20 lines • 990 B
TypeScript
import { Device } from "../adapter/device.js";
import { Shader, type ShaderProps } from "../adapter/resources/shader.js";
/** Manages a cached pool of Shaders for reuse. */
export declare class ShaderFactory {
static readonly defaultProps: Required<ShaderProps>;
/** Returns the default ShaderFactory for the given {@link Device}, creating one if necessary. */
static getDefaultShaderFactory(device: Device): ShaderFactory;
readonly device: Device;
private readonly _cache;
get [Symbol.toStringTag](): string;
toString(): string;
/** @internal */
constructor(device: Device);
/** Requests a {@link Shader} from the cache, creating a new Shader only if necessary. */
createShader(props: ShaderProps): Shader;
/** Releases a previously-requested {@link Shader}, destroying it if no users remain. */
release(shader: Shader): void;
protected _hashShader(value: Shader | ShaderProps): string;
}
//# sourceMappingURL=shader-factory.d.ts.map