bevyengine / bevy

A refreshingly simple data-driven game engine built in Rust
https://bevyengine.org
Apache License 2.0
36.08k stars 3.56k forks source link

End-to-end Rendering Golden Tests #6575

Open james7132 opened 1 year ago

james7132 commented 1 year ago

What problem does this solve or what need does it fill?

Rendering breakages are often a result of collective changes to the rendering pipeline, and are rarely local, which makes it tough to update the renderer in broad strokes without blatantly breaking something.

What solution would you like?

What alternative(s) have you considered?

Rely on user bug reports to QA the renderer output pre/post-release.

Additional context

Large images in git getting regularly updated can be pretty heavy. It may not be beneficial to keep these tracked in the main repo, but in some Git LFS-based repo that we validate against before a train release to ensure nothing is critically broken.

The above methodology was borrowed from existing golden-image tests commonly used in synthetic data generation for machine learning systems.

mockersf commented 1 year ago

Yup, this is the goal behind https://github.com/bevyengine/bevy/pull/5550