Options
All
  • Public
  • Public/Protected
  • All
Menu

Class WebGLResourceRepository

Hierarchy

Index

Constructors

Properties

Accessors

Methods

Constructors

Properties

__resourceCounter: number = CGAPIResourceRepository.InvalidCGAPIResourceUid
__webglContexts: Map<string, WebGLContextWrapper> = ...
__webglResources: Map<number, WebGLResource> = ...
InvalidCGAPIResourceUid: -1 = -1

Accessors

Methods

  • __attachDepthOrStencilBufferToFrameBufferObject(framebuffer: FrameBuffer, renderable: IRenderable, attachmentType: number): void
  • __checkShaderCompileStatus(materialTypeName: string, shader: WebGLShader, shaderText: string): void
  • __checkShaderProgramLinkStatus(materialTypeName: string, shaderProgram: WebGLProgram, vertexShaderText: string, fragmentShaderText: string): void
  • __createDummyTextureInner(base64: string): number
  • addWebGLContext(gl: WebGLRenderingContext | WebGL2RenderingContext, canvas: HTMLCanvasElement, asCurrent: boolean, isDebug: boolean): void
  • bindTexture2D(textureSlotIndex: number, textureUid: number): void
  • bindTextureCube(textureSlotIndex: number, textureUid: number): void
  • bindUniformBlock(shaderProgramUid: number, blockName: string, blockIndex: number): void
  • bindUniformBufferBase(blockIndex: number, uboUid: number): void
  • createCompressedTexture(textureDataArray: TextureData[], compressionTextureType: EnumIO, __namedParameters: { anisotropy: boolean; magFilter: EnumIO; minFilter: EnumIO; wrapS: EnumIO; wrapT: EnumIO }): number
  • createCompressedTextureFromBasis(basisFile: _BasisFile, param1: { anisotropy: boolean; border: number; format: EnumIO; isPremultipliedAlpha: boolean; magFilter: EnumIO; minFilter: EnumIO; type: ComponentTypeEnum; wrapS: EnumIO; wrapT: EnumIO }): number
  • createCubeTexture(mipLevelCount: number, images: { negX: DirectTextureData; negY: DirectTextureData; negZ: DirectTextureData; posX: DirectTextureData; posY: DirectTextureData; posZ: DirectTextureData }[], width: number, height: number): number
  • create a CubeTexture

    Parameters

    • mipLevelCount: number
    • images: { negX: DirectTextureData; negY: DirectTextureData; negZ: DirectTextureData; posX: DirectTextureData; posY: DirectTextureData; posZ: DirectTextureData }[]
    • width: number
    • height: number

    Returns number

    resource handle

  • createCubeTextureFromBasis(basisFile: _BasisFile, __namedParameters: Object): number
  • createCubeTextureFromFiles(baseUri: string, mipLevelCount: number, isNamePosNeg: boolean, hdriFormat: EnumIO): Promise<number>
  • Create Cube Texture from image files.

    Parameters

    • baseUri: string

      the base uri to load images;

    • mipLevelCount: number

      the number of mip levels (include root level). if no mipmap, the value should be 1;

    • isNamePosNeg: boolean
    • hdriFormat: EnumIO

    Returns Promise<number>

    the WebGLResourceHandle for the generated Cube Texture

  • createDummyBlackCubeTexture(): number
  • createDummyBlackTexture(): number
  • createDummyCubeTexture(rgbaStr?: string): number
  • createDummyNormalTexture(): number
  • createDummyTexture(rgbaStr?: string): number
  • createDummyWhiteTexture(): number
  • createFrameBufferObject(): number
  • createIndexBuffer(accessor: Accessor): number
  • createRenderBuffer(width: number, height: number, internalFormat: EnumIO, isMSAA: boolean, sampleCountMSAA: number): number
  • createTexStorage2D(__namedParameters: { height: number; internalFormat: EnumIO; levels: number; width: number }): number
  • create a TexStorage2D

    Parameters

    • __namedParameters: { height: number; internalFormat: EnumIO; levels: number; width: number }
      • height: number
      • internalFormat: EnumIO
      • levels: number
      • width: number

    Returns number

  • createTexStorage2DWithSamplerParameters(__namedParameters: { anisotropy: boolean; height: number; internalFormat: EnumIO; isPremultipliedAlpha?: boolean; levels: number; magFilter: EnumIO; minFilter: EnumIO; width: number; wrapS: EnumIO; wrapT: EnumIO }): number
  • create a TexStorage2D

    Parameters

    • __namedParameters: { anisotropy: boolean; height: number; internalFormat: EnumIO; isPremultipliedAlpha?: boolean; levels: number; magFilter: EnumIO; minFilter: EnumIO; width: number; wrapS: EnumIO; wrapT: EnumIO }
      • anisotropy: boolean
      • height: number
      • internalFormat: EnumIO
      • Optional isPremultipliedAlpha?: boolean
      • levels: number
      • magFilter: EnumIO
      • minFilter: EnumIO
      • width: number
      • wrapS: EnumIO
      • wrapT: EnumIO

    Returns number

  • createTexture(imageData: DirectTextureData, param1: { anisotropy: boolean; border: number; format: EnumIO; generateMipmap: boolean; height: number; internalFormat: EnumIO; isPremultipliedAlpha: boolean; level: number; magFilter: EnumIO; minFilter: EnumIO; type: ComponentTypeEnum; width: number; wrapS: EnumIO; wrapT: EnumIO }): number
  • createTextureFromDataUri(dataUri: string, __namedParameters: { anisotropy: boolean; border: number; format: EnumIO; generateMipmap: boolean; internalFormat: EnumIO; isPremultipliedAlpha: boolean; level: number; magFilter: EnumIO; minFilter: EnumIO; type: ComponentTypeEnum; wrapS: EnumIO; wrapT: EnumIO }): Promise<number>
  • createTextureSampler(__namedParameters: { anisotropy: boolean; isPremultipliedAlpha?: boolean; magFilter: EnumIO; minFilter: EnumIO; wrapS: EnumIO; wrapT: EnumIO }): number
  • createTransformFeedback(): number
  • createUniformBuffer(bufferView: DataView | TypedArray): number
  • createVertexArray(): undefined | number
  • createVertexBuffer(accessor: Accessor): number
  • createVertexBufferFromTypedArray(typedArray: TypedArray): number
  • decodeBasisImage(basisFile: _BasisFile, basisCompressionType: EnumIO, imageIndex: number, levelIndex: number): Uint8Array
  • deleteFrameBufferObject(frameBufferObjectHandle: number): void
  • deleteRenderBuffer(renderBufferUid: number): void
  • deleteTexture(textureHandle: number): void
  • deleteTransformFeedback(transformFeedbackUid: number): void
  • deleteUniformBuffer(uboUid: number): void
  • deleteVertexArray(vaoHandle: number): void
  • deleteVertexBuffer(vboUid: number): void
  • generateWebGLContext(canvas: HTMLCanvasElement, version: number, asCurrent: boolean, isDebug: boolean, webglOption?: WebGLContextAttributes, fallback?: boolean): WebGL2RenderingContext
  • Parameters

    • canvas: HTMLCanvasElement
    • version: number
    • asCurrent: boolean
    • isDebug: boolean
    • Optional webglOption: WebGLContextAttributes
    • fallback: boolean = true

    Returns WebGL2RenderingContext

  • getCanvasSize(): [number, number]
  • getGlslDataUBODefinitionString(): string
  • getGlslDataUBOVec4SizeString(): string
  • getGlslRenderTargetBeginString(renderTargetNumber: number): string
  • getGlslRenderTargetEndString(renderTargetNumber: number): string
  • getPixelDataFromTexture(texUid: number, x: number, y: number, width: number, height: number): Uint8Array
  • getResourceNumber(): number
  • getWebGLResource(WebGLResourceHandle: number): null | WebGLResource
  • rebuildProgram(this: RnWebGLProgram, updatedVertexSourceCode: string, updatedFragmentSourceCode: string, onCompiled: ((program: WebGLProgram) => void), onError: ((message: string) => void)): boolean
  • Parameters

    • this: RnWebGLProgram
    • updatedVertexSourceCode: string
    • updatedFragmentSourceCode: string
    • onCompiled: ((program: WebGLProgram) => void)
        • (program: WebGLProgram): void
        • Parameters

          • program: WebGLProgram

          Returns void

    • onError: ((message: string) => void)
        • (message: string): void
        • Parameters

          • message: string

          Returns void

    Returns boolean

  • resizeCanvas(width: number, height: number): void
  • setUniformValue(shaderProgram_: WebGLProgram, semanticStr: string, firstTime: boolean, value: any): boolean
  • setUniformValueInner(shaderProgram: WebGLProgram, semanticStr: string, info: ShaderSemanticsInfo, isMatrix: boolean, componentNumber: number, isVector: boolean, __namedParameters: { w?: number | boolean; x: number | boolean | ArrayType; y?: number | boolean; z?: number | boolean }): boolean
  • set the uniform value

    Parameters

    • shaderProgram: WebGLProgram
    • semanticStr: string
    • info: ShaderSemanticsInfo
    • isMatrix: boolean
    • componentNumber: number
    • isVector: boolean
    • __namedParameters: { w?: number | boolean; x: number | boolean | ArrayType; y?: number | boolean; z?: number | boolean }
      • Optional w?: number | boolean
      • x: number | boolean | ArrayType
      • Optional y?: number | boolean
      • Optional z?: number | boolean

    Returns boolean

  • setVertexDataToPipeline(__namedParameters: { iboHandle?: number; vaoHandle: number; vboHandles: number[] }, primitive: Primitive, instanceIDBufferUid?: number): void
  • set the VertexData to the Pipeline

    Parameters

    • __namedParameters: { iboHandle?: number; vaoHandle: number; vboHandles: number[] }
      • Optional iboHandle?: number
      • vaoHandle: number
      • vboHandles: number[]
    • primitive: Primitive
    • instanceIDBufferUid: number = CGAPIResourceRepository.InvalidCGAPIResourceUid

    Returns void

  • setViewport(viewport?: Vector4): void
  • setWebGLStateToDefault(): void
  • setWebGLTextureDirectly(webGLTexture: WebGLTexture): number
  • setupBasicUniformLocations(shaderProgramUid: number): void
  • setupUniformBufferDataArea(typedArray?: TypedArray): number
  • setupUniformLocations(shaderProgramUid: number, infoArray: ShaderSemanticsInfo[], isUniformOnlyMode: boolean): WebGLProgram
  • switchDepthTest(flag: boolean): void
  • unbindFramebuffer(): void
  • updateIndexBuffer(accessor: Accessor, resourceHandle: number): void
  • updateLevel0TextureAndGenerateMipmap(textureUid: number, textureData: DirectTextureData, __namedParameters: { format: EnumIO; height: number; type: ComponentTypeEnum; width: number }): void
  • updateTexture(textureUid: number, textureData: DirectTextureData, __namedParameters: { format: EnumIO; height: number; level: number; type: ComponentTypeEnum; width: number; xoffset: number; yoffset: number }): void
  • updateUniformBuffer(uboUid: number, typedArray: TypedArray, offsetByte: number, arrayLength: number): void
  • updateVertexBuffer(accessor: Accessor, resourceHandle: number): void

Generated using TypeDoc