Skip to content

feature: WebGPU Rendering & Memory Management System - #266

Draft
Jarbuckle wants to merge 29 commits into
mainfrom
joel/webgpu-rendering-system
Draft

feature: WebGPU Rendering & Memory Management System#266
Jarbuckle wants to merge 29 commits into
mainfrom
joel/webgpu-rendering-system

Conversation

@Jarbuckle

@Jarbuckle Jarbuckle commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

feature: WebGPU Rendering & Memory Management System

⚠️ DO NOT MERGE! ⚠️
This PR is a holding bucket for all of the work done to prepare the WebGPU Rendering System

This codebase is split into modules, which are structured to be independently merged as separate PRs. They are as follows, with checked-off ones having been successfully merged:

  • Foundational module (core/src/rendering/webgpu/foundation) -- Shared capabilities for the other modules
  • Shader Builder module (core/src/rendering/webgpu/shaders) -- Capabilities for building shaders programmatically
  • Memory Management module (core/src/rendering/webgpu/memory) -- Capabilities for creating and managing GPU memory buffers
  • Resources module (core/src/rendering/webgpu/resources) -- Capabilities for defining, binding and populating resource buffers (uniforms, textures, storage buffers, vertex buffers, etc.)
  • Scene Rendering module (core/src/rendering/webgpu/renderer) -- Capabilities for defining complex arrangements of drawables and their rendering pipelines, then executing them

@Jarbuckle Jarbuckle added the experimental An experiment, not necessarily ever going to be merged, at least in its current form. label Jun 25, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is one of the files where I'll be experimenting with doing a translation of @froyo-np's work into this framework

vertex: { kind: 'typed', layout, data: { position: spec.mesh.positions } },
index: { kind: 'arrays', data: spec.mesh.indices },
// Bindings keyed by slot name: shared camera + this shape's instance uniform.
bindings: { camera: cameraRes, instance },

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
bindings: { camera: cameraRes, instance },
bindings: { camera: cameraRes, instance:{
color,
matrix:identity(),
} },

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

experimental An experiment, not necessarily ever going to be merged, at least in its current form.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants