bevyengine / bevyengine/bevy

Visibility Range example doesn't work in webgl2

Open
#21,309 0 comments 0 reactions 0 assignees View on GitHub
A-Rendering C-Bug
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 16h
Merged PRs (30d)
171

Description

## Bevy version and features

- 0.17

## What you did

Open the visibility range example in a chromium browser

## What went wrong

The helmet doesn't render and the console shows this error:

```
wgpu error: Validation Error

Caused by:
In Device::create_render_pipeline, label = 'pbr_opaque_mesh_pipeline'
Error matching ShaderStages(VERTEX) shader requirements against the pipeline
Shader global ResourceBinding { group: 0, binding: 14 } is not available in the pipeline layout
Buffer structure size 1024, added to one element of an unbound array, if it's the last field, ended up greater than the given `min_binding_size`, which is 16
```

## Additional information

The example does work with webgpu or when ran natively so the issue is apparently with feature detection when running with webgl2.

Contributor guide

Open the contributing guide

Research direction

Start by running the visibility range example in a Chromium browser with WebGL2 and compare the result with WebGPU or a native run. Trace the feature detection and render-pipeline setup implicated by the validation error; done means the helmet renders without the reported pipeline-layout error.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
computer-graphics, game-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.