Meshlets software raster is flickering pixels when camera moves
メンテナーはふだん 2 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 25/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- rust
調査の方向性
The flicker comes from the software-raster threshold in crates/bevy_pbr/src/meshlet/cull_clusters.wesl, around lines 74-78, where sw_raster is set from project_aabb and a 64-pixel size check. Start by running cargo run --release --example meshlet --features meshlet,https,free_camera and moving the camera to the distance where pixels flicker. Done means the artifact is gone without disabling software raster globally, with the threshold or the projection logic explained.
索引モデルが issue の本文から書いたものです。
説明
Bevy version and features
commit 76295a0d268e5a72079e4c2d7ba7db18bcf259ff (grafted, HEAD -> main, origin/main, origin/HEAD)
Relevant system information
AdapterInfo { name: "NVIDIA GeForce RTX 3080", vendor: 4318, device: 8710, device_type: DiscreteGpu, device_pci_bus_id: "0000:01:00.0", driver: "NVIDIA", driver_info: "610.88", backend: Vulkan, subgroup_min_size: 32, subgroup_max_size: 32, transient_saves_memory: Some(false), limit_bucket: None }
What you did
I've launched a meshlet example
cargo run --release --example meshlet --features meshlet,https,free_camera
What went wrong
I've observed flickering pixels at a certain distance.
Out of curiosity, I asked Claude what usually could be the cause.
After that i found out about software rasterization and tried to disable it.
https://github.com/bevyengine/bevy/blob/main/crates/bevy_pbr/src/meshlet/cull_clusters.wesl#L74-L78
var sw_raster = project_aabb(clip_from_local, near, aabb, &screen_aabb);
sw_raster = false; // Disabled Software render
if sw_raster {
let aabb_size = (screen_aabb.max.xy - screen_aabb.min.xy) * view.viewport.zw;
sw_raster = all(aabb_size <= vec2<f32>(64.0));
}
It resolved the issue but I tried
sw_raster = all(aabb_size <= vec2<f32>(16.0));
It also helped.
Additional information
better to watch fullscreen
https://github.com/user-attachments/assets/3503905b-15df-443c-8039-4178fc703af8
- 主要言語
- Rust
- スター
- 49.7k
- フォーク
- 5k
- 平均マージ
- 3日 19時間
- マージ済み PR(30日)
- 134
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
bevyengine/bevy のほかの issue
-
C-Bug S-Needs-Triage
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
bevyengine/bevy#26536 ·
メンテナーはふだん 2 日以内に返信
-
Placeholder has no default対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンC-Feature S-Needs-Triage
難易度 1/5 1時間未満 初心者へのやさしさ 62/100
bevyengine/bevy#26532 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
C-Feature S-Needs-Triage
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
bevyengine/bevy#26500 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
C-Feature S-Needs-Triage
難易度 1/5 1時間未満 初心者へのやさしさ 68/100
bevyengine/bevy#26499 ·
メンテナーはふだん 2 日以内に返信
-
`compute_histogram` in auto exposure writes past the end of the 64-bin histogram対応中かも @dev-matru が 3 日前に担当しました。 オープンA-Rendering C-Bug D-Straightforward S-Ready-For-Implementation X-Uncontroversial
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
bevyengine/bevy#26479 ·
メンテナーはふだん 2 日以内に返信
bevyengine/bevy の issue をすべて見る
似ている issue
-
bug UI
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
wardian-app/Wardian#1746 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
jlcodes99/cockpit-tools#3125 ·
メンテナーはふだん 2 日以内に返信
-
bug user-sprint
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Vondor/KassenSturz#967 ·
メンテナーはふだん 1 日以内に返信
-
area/ci
難易度 1/5 1時間未満 初心者へのやさしさ 62/100
メンテナーはふだん 1 日以内に返信
-
[BUG] Incremental sync warns "no stored highest_uid" on every round for folders with no new mailオープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
rustmailer/bichon#411 ·