Small World Engine API Reference - v0.46.1
    Preparing search index...

    Class WebGPURenderer

    Modern WebGPU implementation with dynamic vertex updates and memory management.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    _activeCubeFace: number = 0
    _activeRenderTarget: RenderTarget | RenderTargetCube | null = null
    _adapter: GPUAdapter | undefined = undefined
    _areaLightBuffer: GPUBuffer
    _blackCubeTexView: GPUTextureView
    _blackTexView: GPUTextureView
    _bloomPassGPU: BloomPassGPU | undefined = undefined
    _bloomTextureView: GPUTextureView | undefined = undefined
    _clearColor: Color = ...

    The clear color of the renderer.

    _context: GPUCanvasContext
    _cubeTextureViewCache: Map<CubeTexture, GPUTextureView> = ...
    _defaultBrdfTexView: GPUTextureView
    _defaultCubeTexView: GPUTextureView
    _depthTexture: GPUTexture
    _device: GPUDevice | undefined = undefined
    _dummyBufferSize: number = 0
    _dummyNormalBuffer: GPUBuffer
    _dummyTangentBuffer: GPUBuffer
    _dummyUvBuffer: GPUBuffer
    _flatNormalTexView: GPUTextureView
    _format: GPUTextureFormat
    _frameCount: number = 0
    _geoCache: Map<GeometryDataInterface, WebGPUGeoCache> = ...
    _globalBGL: GPUBindGroupLayout
    _globalBindGroup: GPUBindGroup
    _globalUniformBuffer: GPUBuffer
    _gpuInstanceBuffers: WeakMap<InstancedMesh, GPUBuffer> = ...
    _hdrTexture: GPUTexture | undefined = undefined
    _hdrTextureView: GPUTextureView | undefined = undefined
    _lightData: LightDataInterface = ...

    Cached light data to avoid GC pressure.

    _materialBGL: GPUBindGroupLayout
    _materialBindGroups: Map<string, { bg: GPUBindGroup; resources: unknown[] }> = ...
    _objectBGL: GPUBindGroupLayout
    _objectUniformBuffers: Map<
        string,
        { buffer: GPUBuffer; lastFrame: number; objBg?: GPUBindGroup },
    > = ...
    _opaqueTextures: WeakMap<
        object,
        { height: number; tex: GPUTexture; view: GPUTextureView; width: number },
    > = ...
    _opaqueTextureView?: GPUTextureView
    _passes: RenderPass[] = []
    _pipelines: Map<string, WebGPUPipelineCache> = ...
    _pointLightBuffer: GPUBuffer
    _quality: QualityConfig = ...

    Global quality settings.

    _renderTargetCubeTextures: Map<
        RenderTargetCube,
        {
            cubeView: GPUTextureView;
            depth?: GPUTexture;
            depthView?: GPUTextureView;
            faceViews: GPUTextureView[];
            tex: GPUTexture;
        },
    > = ...
    _renderTargetTextures: Map<
        RenderTarget,
        {
            depth?: GPUTexture;
            depthView?: GPUTextureView;
            tex: GPUTexture;
            view: GPUTextureView;
        },
    > = ...
    _samplerCache: Map<string, GPUSampler> = ...
    _scratchAreaLightData: Float32Array<ArrayBuffer> = ...
    _scratchColorArray: Float32Array<ArrayBuffer> = ...
    _scratchGlobalBufferData: Float32Array<ArrayBuffer> = ...
    _scratchModelMatrix: Float32Array<ArrayBuffer> = ...
    _scratchObjBufferData: Float32Array<ArrayBuffer> = ...
    _scratchPointLightData: Float32Array<ArrayBuffer> = ...
    _scratchSpotLightData: Float32Array<ArrayBuffer> = ...
    _scratchUniformValues: Record<string, unknown> = {}
    _screenOpaqueTexture?: {
        height: number;
        tex: GPUTexture;
        view: GPUTextureView;
        width: number;
    }
    _shaderModules: Map<string, GPUShaderModule> = ...
    _spotLightBuffer: GPUBuffer
    _textureViewCache: Map<Texture, GPUTextureView> = ...
    _whiteTexView: GPUTextureView
    postProcessing: PostProcessingGroup = ...

    The global post processing volume/group.

    type: RendererType = RendererType.WEB_GPU

    The type of the renderer.

    Accessors

    Methods

    • Parameters

      • objBufferData: { buffer: GPUBuffer; objBg?: GPUBindGroup }
      • layout: GPUBindGroupLayout

      Returns GPUBindGroup

    • Parameters

      Returns { buffer: GPUBuffer; lastFrame: number; objBg?: GPUBindGroup }

    • Parameters

      • shaderId: string
      • isInstanced: boolean = false

      Returns GPUShaderModule

    • Parameters

      • rp: GPURenderPassEncoder
      • _shaderId: string
      • materialGroups: Map<string, Object3D[]>
      • OptionalvMat: Float32Array<ArrayBufferLike>
      • topology: GPUPrimitiveTopology = "triangle-list"

      Returns void

    • Adds a render pass to the pipeline.

      Parameters

      • pass: RenderPass

        The pass to add.

      Returns void

    • Parameters

      • ce: GPUCommandEncoder
      • targetTex: GPUTexture

      Returns void