Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WebGPURenderer: Introduce Bind Groups #28705

Merged
merged 3 commits into from
Jun 21, 2024
Merged

WebGPURenderer: Introduce Bind Groups #28705

merged 3 commits into from
Jun 21, 2024

Conversation

sunag
Copy link
Collaborator

@sunag sunag commented Jun 19, 2024

Related issue: #27134, #28347 (comment), #28665

Description

Continuation of the work started #27134 for shared bind group support between materials automatically.

The API follows the style defined here: #28347 (comment)

The bindings and groups sequences can be improved in complementary PRs through sorts at shader construction time.

  • Renderer - Bind Groups
  • WebGPUBackend
  • WebGLBackend

examples/jsm/nodes/core/NodeBuilder.js Dismissed Show dismissed Hide dismissed
@sunag sunag marked this pull request as ready for review June 21, 2024 05:41
@sunag sunag added this to the r166 milestone Jun 21, 2024
@sunag
Copy link
Collaborator Author

sunag commented Jun 21, 2024

@RenaudRohlinger @aardgoose The implementation is partially ready in WebGLBackend, I added instanceBindGroups=false in GLSLNodeBuilder for now. The groups are currently divided into vertex/fragments even though they are part of the same group, this has pros and cons. A future implementation could be to group them by means of a parameter.

@sunag sunag merged commit 4b9c621 into mrdoob:dev Jun 21, 2024
11 checks passed
@sunag sunag deleted the dev-groups branch June 21, 2024 17:41
@RenaudRohlinger
Copy link
Collaborator

@sunag This PR seems to have break the webgpu_storage_buffer example.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants