C++向けのWebGPUの学習

2026/07/23 23:55

C++向けのWebGPUの学習

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

このドキュメントは、Windows、Linux、macOS において WebGPU グラフィックス API を使用してネイティブの 3D アプリケーションを構築するための包括的なガイドです。その主な強みは、柔軟なコーディングオプションを提供することにあります:開発者は生のコードを直接書いたり、より構造化されたオブジェクト指向のアプローチにアクセスするために

webgpu.hpp
ラッパーを使用したりできます。また、このガイドはビルドバックエンドのカスタマイズも可能で、デフォルトの
wgpu-native
エンジンから Dawn への変更は、単に設定行を調整するだけで実現可能です。章タイトルに含まれる文脈的なインジケーター(完了済みトピックには緑色のチェックマークが、ニューラルネットワークなどの「TODO」項目には赤い四角が表示されるなど)によって、生産環境で利用可能である機能と進行中の作業が明確に示されています。コアの 3D レンダリング、遅延シェーディング、シェーダーuniform の他にも、このリソースはミップマップ生成や畳み込みフィルタなどの画像処理タスク、SDL ウィンドウ管理との統合、デバッグ戦略といった実用的な側面も含んでカバーしています。さらに、専用の補足編において、これらの例を Web ベースの展開に適応する方法が解説されています。最終的に、このツールキットは「Hello World」テストから複雑な照明システムまで、幅広いアプリケーションの開発に必要なものをすべて開発者に提供し、低性能デバイスでのパフォーマンス課題にも取り組んでいます。

本文

C++ ネイティブ WebGPU グラフィックス開発ガイド

本ガイドでは、Windows、Linux、macOS 向けに、ゼロから C++ を用いて WebGPU グラフィクス API を駆使したネイティブ 3D アプリケーションを作成する方法を解説します。

クイックスタート

ご作成の GPU コードの全てを理解したいですか?

  • はい、WebGPU コードはゼロから書く!
    • 素晴らしい選択です!ぜひ「導入」から読み始めて、各章を順番に進めてください。
  • いいえ、初期の手順(テンプレート部分)はスキップしたい!
    • その気持ちもよく分かります。基本手順はいつでも後で確認できますので、まずは各ページの先頭と末尾にある**「生成されたコード」**のリンクをご確認ください。

ラッパー選択について

シンプルなラッパーを使用することに問題ありませんか?

  • はい、C++ スタイルのコードを好みます!
    • 「With webgpu.hpp」タブをご利用ください。
  • いいえ、生の C WebGPU API を示してほしい!
    • 「Vanilla webgpu.h」タブをご利用ください。ただし、この「Vanilla WebGPU」向けの生成されたコードは少し古い可能性があります。しかしながら、ガイド内のすべてのコードブロックは最新バージョンに更新されているため、安心してご参照いただけます。

ベースコードのビルド方法

ベースコードをビルドするには、プロジェクト設定の章にある**「ビルド」**セクションをご参照ください。

また、以下のコマンドライン引数によりバックエンドを選択できます:

cmake -B build -DWEBGPU_BACKEND=WGPU    # デフォルト: wgpu-native
cmake -B build -DWEBGPU_BACKEND=DAWN    # Dawn

ベースコードの進捗具合について

ベースコードをどの程度まで作成したいですか?

  • 基本的な操作が可能な 3D メッシュビューア
    • 「ライトニング制御」章の末尾から始めるのがおすすめです。
  • Web ブラウザでも動作させたい
    • ガイド本編にはいくつか追加行が必要になっています。「Web 向けビルド」補遺を参照し、例題を適宜調整して Web 環境でも動かせるようにしてください。

開発中の告知

本ガイドは現在改訂中であり、WebGPU の仕様も引き続き進化しています。各章のタイトルには以下のステータスマークが表示されています。

  • 🟢 最新! WebGPU-distribution の最新の安定版(v0.2.0)を使用しています。
  • 🟡 読み込み可能ですが古いバージョンを使用。
  • 🟠 進行中: 概略は理解できますが、未完了の部分もあります。
  • 🔴 TODO(予定): お粗末な状態です。

【重要】 各章に付随するコードを利用される際は、その章で提供されている WebGPU のバージョンを必ずご使用ください。不一致を防ぐためにお勧めです。


コンテンツ一覧

Introduction(導入)

  • Introduction(導入)

Getting Started(はじめよう)🟢

  • Project setup 🟢
    • プロジェクトのセットアップ
  • Hello WebGPU 🟢
    • 初めての WebGPU
  • Adapter and Device(アダプターとデバイス)🟢
    • The Adapter 🟢 (アダプター)
    • The Device 🟢 (デバイス)
  • The Command Queue 🟢
    • コマンドキュー
  • Opening a window 🟢
    • ウィンドウの開示
  • First Color 🟢
    • 最初の色彩
  • C++ wrapper 🟢
    • C++ ラッパー

Basic 3D Rendering(基礎的な 3D レンダリング)🟢

  • Hello Triangle 🟢
    • 初めての三角形
  • Input Geometry(入力幾何形状)
  • Playing with buffers 🟢
    • バッファの操作
  • A first Vertex Attribute 🟢
    • 最初の頂点アトリビュート
  • Multiple Attributes 🟢
    • 複数のアトリビュート
  • Index Buffer 🟢
    • インデックスバッファ
  • Loading from file 🟢
    • ファイルからの読み込み

Shader Uniforms(シェーダーのユニフォーム変数)

  • A first uniform 🟡
    • 最初のユニフォーム変数
  • More uniforms 🟡
    • より多くのユニフォーム変数
  • Dynamic uniforms 🟡
    • 動的なユニフォーム変数

3D Meshes(3D メッシュ)🟡

  • A simple example 🟡
    • シンプルな例
  • Depth buffer 🟡
    • ディPTH バッファ
  • Transformation matrices 🟡
    • 変換行列
  • Projection matrices 🟡
    • プロジェクション行列
  • Basic shading 🟡
    • 基本的なシャドウイング(着色)
  • Loading from file 🟡
    • ファイルからの読み込み

Texturing(テクスチャリング)🟡

  • A first texture 🟡
    • 最初のテクスチャ
  • Texture mapping 🟡
    • テクスチャの写像
  • Sampler 🟡
    • サンプラー
  • Loading from file 🟡
    • ファイルからの読み込み

Some interaction(いくつかの相互作用)🟡

  • Refactoring 🟡
    • リファクタリング
  • Resizing the window 🟡
    • ウィンドウのリサイズ
  • Camera control 🟡
    • カメラ制御
  • Simple GUI 🟡
    • シンプルなユーザーインターフェース
  • Lighting control 🟡🟢
    • ライティング制御

Lighting and Material(ライティングとマテリアル)🟡

  • Specularity 🟡
    • 光沢(spéculare)
  • Normal mapping 🟡
    • ノーマルマッピング
  • Image-Based Lighting (🟠WIP)
    • イメージベースのライティング
  • Cube Maps (🟠WIP)
    • キューブマップ
  • Physically-Based Materials (🟠WIP)
    • 物理ベースレンダリングのマテリアル

Basic Compute(基礎的なコンピュート)🟡

  • Compute Pipeline 🟡
    • コンピュートパイプライン
  • Image Processing(画像処理)🟡
    • Mipmap Generation 🟡 (ミップマップの生成)
    • Convolution Filters 🟡 (畳み込みフィルタ)
    • Cubemap Conversion (🟠WIP) (キューブマップの変換)
    • Cubemap Prefiltering (🟠WIP) (キューブマップの事前フィルタリング)

Procedural Geometry(手続き論的幾何形状)🟠

  • Deformation (🟠WIP)
    • 変形

Neural Networks (🔴TODO)

  • ニュラルネットワーク

Advanced Techniques(高度な技術)

  • Instanced Drawing (🔴TODO)
    • インスタンス描画
  • RAII 🟡
    • リソース所有と即時解放(RAII)
  • Screen capture (🟠WIP)
    • スクリーンキャプチャ
  • Headless context 🟡
    • ヘッドレスコンテキスト
  • High Dynamic Range Textures (🟠WIP)
    • ハイ・ダイナミック・レンジ テクスチャ
  • Benchmarking(ベンチマーク)
    • Time 🟡 (時間)
    • Memory (🔴TODO) (メモリ)
    • Processing Units (🔴TODO) (プロセッサ単位)
    • Environmental Impact (🔴TODO) (環境への影響)
  • Deferred Shading (🔴TODO)
    • デフェードレンダリング(遅延シェーディング)
  • Render Bundles (🔴TODO)
    • レンダーバンドル
  • Multi-Sampling (🔴TODO)
    • マルチサンプリング
  • Scene tree (🔴TODO)
    • シーンツリー
  • Shadow maps (🔴TODO)
    • シャドウマップ(陰影図)
  • Tesselation (🔴TODO)
    • テッセレーション
  • Raytracing (🔴TODO)
    • レイトレーシング

Appendices(補遺)🟡

  • Teaching native graphics in 2023 🟢
    • 2023 年のネイティブグラフィックス教育について
  • Keep in mind lower-end devices 🟢
    • 低性能機器についても考慮を
  • Feedback needed 🟢
    • フィードバックをお待ちしています
  • Building for the Web 🟡
    • Web 向けビルド
  • Using SDL for Window Management 🟡
    • ウィンドウ管理における SDL の使用
  • Custom Extensions(カスタム拡張機能)🟠
    • The extension mechanism (🟠WIP) (拡張メカニズム)
    • With wgpu-native (🟠WIP) (wgpu-native を用いた場合)
    • With Dawn (🟠WIP) (Dawn を用いた場合)

Debugging (🟠WIP)

  • デバッグ

Memory Model (🔴TODO)

  • メモリモデル

References (🟠WIP)

  • リファレンス(参考文献)

Temporary page

  • 一時ページ

同じ日のほかのニュース

一覧に戻る →

2026/07/23 23:24

筆記は脳にとっても有益です

## Japanese Translation: 筆記は、抽象的なアイデアを複雑な身体的動きと統合させることで、タイピングよりも脳をより深く関わらせます。著者は、*Baroque Cycle* のために大量のページを書くなど、25 年間の日常的な筆記の経験に基づいてこの主張を支持しています。「書き手痙攣」という一般的な恐怖とは対照的に、著者は数十年の実践を通じてこれを一度も経験したことがありませんが、文字が illegible になるや大文字を忘れるなどの初期の苦労は新しい書き手によくあると認められています。筆記機構では適度な摩擦(「歯車」)に依存しており、草書はこの摩擦を活用することで、個々の文字を書くことよりも疲れにくくしています。「インク災害」という一般的な恐怖は、 Fountain Pen との固有の欠陥ではなく、不適切な材料や条件(例えば大気圧の変化など)から生じた神話であることが多く、適切な紙とペンとの組み合わせにより左利きであっても滲みを防ぐことができます。教育者は AI の懸念により学生を長手筆記試験に戻すようになり、学習者が高価な機器への投資をする前に、綿成分の紙や Pilot G-2 ペンのような利用可能な選択肢を試験することが重要となっています。タイピングや AI だけに依存するだけでは、運動技能を統合する身体的評価に備えられない可能性があります。

2026/07/24 4:26

Show HN: Echo – オープンウェイトモデルで費用を 1/3 に抑えつつファブルレベルの成果を実現

## Japanese Translation: 本記事では、OpenRouter、Fireworks、JusCode、Pellmell.ai、TracerML(Echo)、SakanaAI Fugu、Magnitude.dev などの現代の AI ルーティングシステムが、Fable といったプレミアムまたは専用ソリューションと比較して著しく低いコストで高品質な大規模言語モデル(LLM)の出力を可能にすることを論じています。ベンチマークデータによれば、ルーターは HumanEval+、SWE-bench Verified、BigCodeBench を含む 7 つのベンチマークファミリーにおいてトップクラスモデルと同等のパフォーマンスを発揮しており、従来手法のおよそ 1/3 の価格で達成されています。生成に基づいたアプローチ(例:Fusion)のように多数の返信を生成して合成する過程で高いレイテンシーとコストを招く一方で、ルーティングアーキテクチャは速度を維持しつつ結果を改善します。Dogpile.com、AskJeeves、Alta Vista、Lycos、DeepSeek R2、GitHub Copilot(GHCP)、OpenAI の「auto」モードといった製品も、異なる戦略を示しています。OpenAI の「auto」モードは単純なクエリに対するインフラコスト削減のためモデルサイズを選択し、Pellmell はルーターを通じて最適の返信を即時にストリーミングするとともに、必要に応じて絵文字反応を使って合成を行います。エコシステムは歴史的な検索エンジンから GPT-5/4o/o1、Qwen 3.7 Max、Anthropic モデル、GPT Sol、そしてさまざまなオープンウェイトの中国モデルを使用する現代ツールまでをカバーしています。重要な技術的な区別として、現在の LLM の専門家混合物(MoE)におけるルーティング決定はトークン単位で行われるのに対し、タスク固有またはアンサンブルルーティングとはアーキテクチャ的に異なります。プライバシーポリシーは更新され、Echo が顧客のプロンプト、ファイル、チャット、出力をモデルの学習やファインチューニングに使用しないことが明確に記載されています。また、Echo は今後は無料での初期クレジットを提供し、サインアップ時にクレジットカードの登録が不要となっています。専門家は、月 200 ドルといった優遇されたサブスクリプションプランが一時的な損失誘発策であり、エンタープライズは最終的にトークンあたり標準的な API 価格に直面する可能性があると警告しています。「1/3 のコストで Fable 相当の結果」といった主張に対する懐疑については、ルーターが高品質モデル(Fable など)を必要に応じてのみ使用することで費用を節約するためであることを明確化することで対処します。これらの進展は、業界がよりアクセス可能なインフラストラクチャーへと移行するにつれて、企業が品質、速度、価格を慎重にバランスさせることを迫っています。

2026/07/24 6:05

Namecheap が単に依頼されたからといって、私のアカウントを未確認の第三者に引き渡した

## Japanese Translation: CVC Capital パートナーズによる 2025 年 9 月の買収およびそれ以降の経営陣の変更を経て、Namecheap は深刻なユーザー信頼危機に直面しており、その要因は重大なセキュリティ上の見落としと運用上の不安定さにある。具体的な不満事項には、正当な理由なく WHOIS データが準拠しているにもかかわらずアカウントがロックされること、Link などのサードパーティ系決済プロセッサーへの強制的な移行(これらは侵襲的な SMS 認証を要求する)が含まれる。さらに、攻撃者に対しソーシャルエンジニアリングを用いて完全なドメイン制御権を付与したという致命的なサポートインシデントが発生しており、これは無料で利用可能なプライバシーツールが提供できたはずの保護を回避するという事案である。これらの問題は、私募資金出資(プライベートエクイティ)による所有下でのコスト削減が本質的なセキュリティ慣行を犠牲にすることで生じる「enshittification」の傾向を象徴している。その結果、ユーザーは Cloudflare、Porkbun、Gandi といった低価格かつより安全な代替手段へ急激に移りつつあり、これは従来の高マージン型のドメインレジスターからの市場シフトではなく、堅牢なセキュリティを優先するレジスターへの転換を示している。 ## Text to translate: Following its September 2025 acquisition by CVC Capital Partners and subsequent leadership changes, Namecheap is facing a critical crisis of user trust due to severe security lapses and operational instability. Specific grievances include accounts being locked without valid reason despite compliant WHOIS data, forced migration to third-party payment processors like Link that demand invasive SMS verification, and catastrophic support incidents where agents granted attackers full domain control through social engineering—bypassing protections that free privacy tools could have provided. These issues exemplify the "enshittification" trend where cost-cutting under private equity ownership sacrifices essential security practices. Consequently, users are rapidly migrating to cheaper, more secure alternatives like Cloudflare, Porkbun, and Gandi, signaling a market shift away from traditional high-markup registrars toward those prioritizing robust security.