Skip to content

three.js WebGPURenderer support with forceWebGL enabled #394

Description

@marwie

Hello,

Problem
Sparkjs currently fails when trying to use three.js WebGPURenderer with webgl fallback enabled.

Question
Are there plans for supporting three.js WebGPURenderer with forceWebGL enabled?
For example with new WebGPURenderer({ forceWebGL: true, }) - so I'm not asking about full webgpu support right now (altough I'd be interested in plans for it as well)

Errors

Uncaught (in promise) TypeError: Invalid value used as weak map key
    at WeakMap.set (<anonymous>)
    at WebGLBackend.get (Backend.js:764:14)
    at WebGLTextureUtils.copyTextureToBuffer (WebGLTextureUtils.js:1225:57)
    at WebGLBackend.copyTextureToBuffer (WebGLBackend.js:1425:28)
    at WebGPURenderer.readRenderTargetPixelsAsync (Renderer.js:3065:23)
    at _SparkRenderer.readbackDepth (SparkRenderer.ts:1702:32)
    at _SparkRenderer.driveSort (SparkRenderer.ts:1012:16)
    at async _SparkRenderer.updateInternal (SparkRenderer.ts:965:5)
THREE.NodeBuilder: Material "RawShaderMaterial" is not compatible
  | error | @ | utils.js:321
  | prebuild | @ | NodeBuilder.js:3153
  | build | @ | NodeBuilder.js:3176
  | getForRender | @ | NodeManager.js:268
  | getNodeBuilderState | @ | RenderObject.js:403
  | getMonitor | @ | RenderObject.js:414
  | needsRefresh | @ | NodeManager.js:1011
  | _renderObjectDirect | @ | Renderer.js:3710
  | renderObject | @ | Renderer.js:3634
  | _renderObjects | @ | Renderer.js:3322
  | _renderScene | @ | Renderer.js:1754
  | render | @ | Renderer.js:1370
  | render | @ | Pass.js:168
  | generate | @ | SplatAccumulator.ts:424
  | (anonymous) | @ | SplatAccumulator.ts:575
  | updateInternal | @ | SparkRenderer.ts:938
  | onBeforeRender | @ | SparkRenderer.ts:814
  | renderObject | @ | Renderer.js:3558
  | _renderObjects | @ | Renderer.js:3322
  | _renderTransparents | @ | Renderer.js:3300
  | _renderScene | @ | Renderer.js:1755
  | render | @ | Renderer.js:1370

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions