WebGPUのシェーダーの文法がほぼRustな理由
ARANK
WebGPUの初学者が最初にぶつかる壁はWGSL(WebGPU Shading Language)の文法の異質さだと思います。GLSLやHLSLを書いてきた人間からすると、こういうコードを見た瞬間に「なんだこれは」となる。@vertex fn vs_main(@location(0) pos: vec3<f32>) -> @builtin(position) vec4<f32> { return vec4<f32>(pos, 1.0); } まんま Rust じゃん。なぜWebのシェーダー言語がRustの構文を踏襲しているのか。調べれば調べるほど、技術的合理性だけでは説明できない闇が見えてきました。すべての元凶 -> AppleとKhronosのIP戦争WGSLは誰も望んでなかったここが一番大事なポイントです。WGSLという言語が存在する最大の理由は、Appleが既存のSPIR-Vを拒否したからです。SPIR-V(Standard Portable Intermediate Representation)はKhronos Groupが策定したシェーダーのバイナリ中間表現で、Vulkanのエコシステムで広く使われています。WebGPUの策定初期、GoogleもMozillaも「SPIR-Vのサブセットをそのまま使えばいいのでは?」という立場でした。ところが、2019年12月9日のW3Cの会議で、Apple WebKitチームのMaciej Stachowiakがこう発言します。Apple is not comfortable working und…
1 comments
憤りを想起させたい意図はないですがとても味わい深いので WebGPU に興味のあるひとは読むといいかもしれない
> WebGPUのシェーダーの文法がほぼRustな理由 zenn.dev/ihasq/articles…