ray-marching
Version:
Embedding ray marching in html files only
33 lines (32 loc) • 1.24 kB
TypeScript
export declare class RayMarching extends HTMLElement {
$canvas: HTMLCanvasElement;
gl: WebGLRenderingContext | WebGL2RenderingContext;
program?: WebGLProgram;
attribLocation?: number;
uniformLocation?: {
resolution: WebGLUniformLocation | null;
mouse: WebGLUniformLocation | null;
time: WebGLUniformLocation | null;
};
requestID?: number;
beginAt?: number;
resizeObserver?: ResizeObserver;
intersectionObserver?: IntersectionObserver;
childObserver?: MutationObserver;
isIntersecting: boolean;
static get observedAttributes(): string[];
get time(): number;
constructor();
attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
connectedCallback(): void;
disconnectedCallback(): void;
handleResize(entries: ResizeObserverEntry[]): void;
handleIntersection(entries: IntersectionObserverEntry[]): void;
handleMousemove(e: MouseEvent): void;
setupShader(): void;
template(): string;
createShader(type: GLenum, source: string): WebGLShader | null;
createProgramObject(vs: WebGLShader, fs: WebGLShader): WebGLProgram | null;
once(time: number): void;
render(): void;
}