[Migrated] Infrastructure for using ShaderToy as a test corpus
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Rust
- Sterne
- 3.4k
- Forks
- 126
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Issue automatically imported from old repo: https://github.com/EmbarkStudios/rust-gpu/issues/1104
Old labels: mcp: proposed
Originally creatd by LegNeato on 2023-11-27T17:58:09Z 👍: 2
Proposal
Create infrastructure that translates (working) shadertoy shaders into rust-gpu (and runs?). This would make it so we have a sort of burndown chart a la https://github.com/uutils/coreutils#gnu-test-suite-compatibility and https://boajs.dev/boa/test262/ and stress test different parts of rust-gpu. Implementing enough to flip a shader from not working to working may be an easier place for contributors to start, and seeing shaders work is neat!
Feasibility
The shadertoy api looks pretty straightforward to implement from the runner side: https://www.shadertoy.com/howto.
I'm not sure how easy the transpiling will be, but there is https://github.com/phaazon/glsl/tree/master/glsl/src/transpiler and spot checks on some shadertoy shaders doesn't look too crazy. We could probably allowlist or denylist.
Implementation
I wanted to open this for comments before starting on an implementation.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginnen Sie mit der Durchsicht der Shadertoy API-Dokumentation und des referenzierten GLSL-Transpilers unter glsl/src/transpiler. Legen Sie fest, wie funktionierende Shadertoy-Shader übersetzt, ausgeführt und als Kompatibilitätskorpus erfasst werden. Erledigt ist die Aufgabe, wenn die Infrastruktur demonstrieren kann, welche Shader funktionieren, und inkrementelle Verbesserungen an rust-gpu unterstützt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust
- Bereich
- compilers, computer-graphics, testing-qa
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 30/100