UNPKG

three

Version:

JavaScript 3D library

120 lines (110 loc) 3.61 kB
import { CullFace, Blending, BlendingEquation, BlendingSrcFactor, BlendingDstFactor, DepthModes } from '../../constants'; import { WebGLCapabilities } from './WebGLCapabilities'; import { WebGLExtensions } from './WebGLExtensions'; import { Material } from '../../materials/Material'; import { Vector4 } from '../../math/Vector4'; export class WebGLColorBuffer { constructor(); setMask(colorMask: boolean): void; setLocked(lock: boolean): void; setClear(r: number, g: number, b: number, a: number, premultipliedAlpha: boolean): void; reset(): void; } export class WebGLDepthBuffer { constructor(); setTest(depthTest: boolean): void; setMask(depthMask: boolean): void; setFunc(depthFunc: DepthModes): void; setLocked(lock: boolean): void; setClear(depth: number): void; reset(): void; } export class WebGLStencilBuffer { constructor(); setTest(stencilTest: boolean): void; setMask(stencilMask: number): void; setFunc(stencilFunc: number, stencilRef: number, stencilMask: number): void; setOp(stencilFail: number, stencilZFail: number, stencilZPass: number): void; setLocked(lock: boolean): void; setClear(stencil: number): void; reset(): void; } export class WebGLState { constructor(gl: WebGLRenderingContext, extensions: WebGLExtensions, utils: any, capabilities: WebGLCapabilities); buffers: { color: WebGLColorBuffer; depth: WebGLDepthBuffer; stencil: WebGLStencilBuffer; }; initAttributes(): void; enableAttribute(attribute: number): void; enableAttributeAndDivisor(attribute: number, meshPerAttribute: number): void; disableUnusedAttributes(): void; enable(id: number): void; disable(id: number): void; getCompressedTextureFormats(): number[]; useProgram(program: any): boolean; setBlending( blending: Blending, blendEquation?: BlendingEquation, blendSrc?: BlendingSrcFactor, blendDst?: BlendingDstFactor, blendEquationAlpha?: BlendingEquation, blendSrcAlpha?: BlendingSrcFactor, blendDstAlpha?: BlendingDstFactor, premultiplyAlpha?: boolean ): void; setMaterial(material: Material, frontFaceCW: boolean): void; setFlipSided(flipSided: boolean): void; setCullFace(cullFace: CullFace): void; setLineWidth(width: number): void; setPolygonOffset(polygonoffset: boolean, factor: number, units: number): void; setScissorTest(scissorTest: boolean): void; activeTexture(webglSlot: number): void; bindTexture(webglType: number, webglTexture: any): void; // Same interface as https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/compressedTexImage2D compressedTexImage2D( target: number, level: number, internalformat: number, width: number, height: number, border: number, data: ArrayBufferView ): void; // Same interface as https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/texImage2D texImage2D( target: number, level: number, internalformat: number, width: number, height: number, border: number, format: number, type: number, pixels: ArrayBufferView | null ): void; texImage2D( target: number, level: number, internalformat: number, format: number, type: number, source: any ): void; texImage3D( target: number, level: number, internalformat: number, width: number, height: number, depth: number, border: number, format: number, type: number, pixels: any ): void; scissor(scissor: Vector4): void; viewport(viewport: Vector4): void; reset(): void; }