Skip to content

Feature Request: WebGPU Support #73

Description

@plojo

Current Situation

  • FUDGE currently uses WebGL2 for rendering.
  • While WebGL2 is widely supported, it lacks access to modern GPU features, compute shaders, and fine-grained control over memory and resources.
  • Future performance and visual fidelity are limited by WebGL2’s design constraints.

Proposed Idea

Introduce WebGPU support as an alternative or complementary rendering backend:

  • Enable creators to leverage modern GPU features such as compute shaders, multi-threaded rendering, and advanced texture formats.
  • Maintain feature parity with the existing WebGL2 renderer where possible, allowing scenes and components to run on either backend.
  • Design the system so that WebGPU can gradually replace WebGL2 for high-performance scenes, while retaining WebGL2 for broader compatibility.

Expected Benefits

  • Higher performance: Reduce CPU-GPU bottlenecks and enable more complex scenes with larger numbers of nodes or particles.
  • Advanced rendering features: Access to compute shaders, better post-processing, and deferred rendering techniques.
  • Future-proofing: WebGPU is the next-generation web graphics API; supporting it positions FUDGE for upcoming web standards.
  • Cross-backend flexibility: Developers can target WebGL2 for compatibility or WebGPU for performance without rewriting scenes or components.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions