40 ポイント 投稿者 GN⁺ 2025-12-29 | 1件のコメント | WhatsAppで共有
  • コンピュータグラフィックスの基礎から高度なトピックまで無料で学べるオンライン学習プラットフォーム
  • 3Dレンダリング数学的基礎デジタルイメージングプロシージャル生成ツーリングなど多様なテーマを体系的に扱う
  • 実践重視の講義構成で、理論よりも直接的な結果を先に体験できるよう設計されている
  • Vulkan API学習コース(新規)3Dプログラミングブログ(予定)、**書籍(刊行予定)**など継続的に発展中
  • 開発者とデザイナーがコンピュータグラフィックスの原理と実装技術を深く理解できる無料の学習リソース

  • Scratchapixelは「Learn computer graphics from scratch and for free」というスローガンのもと、コンピュータグラフィックス全般を無料で学べるウェブサイト

現在公開されているコース

  • 3Dレンダリングの基礎 (The Foundations of 3D Rendering)

    • 初心者向けの順序で構成されたレンダリング入門講座
      • 理論よりも直接的な成果物の実装を先に扱うアプローチを採用
    • 主な講義テーマは以下のとおり
      • Ray-Tracing入門3DシーンレンダリングRasterization投影行列シェーディングとライティングテクスチャリング加速構造ボリュームレンダリングなど
    • 各講義では実際の実装例とともに、ピクセル座標の計算ピンホールカメラモデルBRDFおよびシェーダーの概念などを扱う
  • コンピュータグラフィックスのための数学 (Mathematics for Computer Graphics)

    • グラフィックス実装に必要な数学的理論とツールを説明
      • このセクションは入門用ではなく、他の講義で言及された概念を参照するためのリファレンス資料として構成されている
    • 主なテーマは幾何学行列の逆演算(Gauss-Jordan法)補間法LookAt関数シェーディングの数学モンテカルロ法フーリエ変換など
  • Computer Graphics Gems

    • 特定のカテゴリには属さないが興味深い個別のグラフィックストピック集
      • 現在はBlackbody放射の講義のみを含む
  • Geometry

    • コンピュータグラフィックスで形状を定義する方法を扱う
      • Bézier曲線と曲面を使った形状表現の方法を説明
  • Digital Imaging

    • 画像ファイル処理と色管理を扱う
    • 主なテーマは光と色空間デジタル画像のファイル-画面変換基本的な画像操作など
  • Procedural Generation of Virtual Worlds

    • 自然現象のプロシージャルシミュレーションを扱う
    • Value NoisePerlin Noise空の色のシミュレーションなどのテーマを含む
  • Tooling

    • 3Dツール開発とインタラクション技術を扱う
    • ウィンドウ管理(Windowing)OBJファイルフォーマットカメラナビゲーション制御などの内容を含む

最近のニュース

  • まもなく公開されるブログでは、3DプログラミングだけでなくAIと教育などの関連テーマも扱う予定
  • Vulkan APIに関する新しい講義が追加される予定
  • "Learn Computer Graphics Programming from Scratch"というタイトルの書籍も刊行予定

1件のコメント

 
GN⁺ 2025-12-29
Hacker Newsのコメント
  • このウェブサイトは本当に大きく進歩した。サンタが寄付を残すべきなくらい素晴らしい
    コンピュータグラフィックスの分野には、もっと多くのオープンな教育資料が必要だと思う。昔の技術は古い本の中に埋もれていて、新しい技術は企業の壁の向こうに隠れている。Sergei Savchenkoの3D Graphics Programming Games and Beyondのような本がよい例だ。
    最近のグラフィックスAPIは不必要に複雑なので、いっそGPUのことはいったん忘れて、ソフトウェアラスタライザレイトレーサを自分で実装するのがよい出発点だと思う。
    ただ、このサイトはDiscord以外の連絡手段がないのが惜しい。寄付ページもメインページからすぐ行けるとよい

    • 以前、ある学生が3Dゲームを作りたいと言ったとき、教授が困っていたのを覚えている。そこで私は「図書館でFoley & Van Damの本を借りてみるといい」と助言した。今では複数の改訂版が出ている — Computer Graphics (Goodreads)
  • これは本当に宝のような資料だ
    私のハンドルネームは、昔作っていたReactor 3Dエンジンに由来している。Quake 3は高校時代の私の人生を変えた。Doomがコンピュータの世界への入口だったなら、Quake 3は私を3Dに夢中にさせた。
    数学はあまり分からなかったが、コードを写しながら学び、今ではウェブとグラフィックスが交わるキャリアを歩んでいる。WebGLとWebGPUが一般化したおかげで、職場では博士たちにvertex packingやGPUへの構造体の渡し方を教えたこともある。
    XNA Silverlight開発者と一緒に働いたこともあって、MonoGameの遠い親戚みたいなものだ。今ではVulkan/DX12/Metalのような新しい方式が主流だ

  • このサイトは本当に素晴らしい。ぜひ見てみたい
    大学院時代にレイトレーサを自分で実装したが、そのとき参考にした本がAndrew S. GlassnerのAn Introduction to Ray Tracingだった。今では無料でダウンロードできる — リンク

  • 昔作ったグラフィックスプログラミング無料資料まとめがある。今はあまり更新していないが、役に立つかもしれない — gistリンク

  • 私のキャリアの大半で、グラフィックスは盲点だった。データや分散システムのほうに流れていったが、実は最初はゲームを作りたくてプログラミングを始めた
    昔、OpenGLで惑星軌道シミュレーションを作ったり、Flashで妙なシューティングゲームを作ったりしたこともある。だが、Vulkanを学ぼうとするとコード量に圧倒されて諦めてしまう。根本的な概念をよく分かっていないからだと思う。いつか余裕ができたら真剣に学び直してみたい

    • WebGL、あるいはもっと良い選択としてWebGPUを勧める。学ぶのがずっと簡単で、身につけた概念は他のAPIにも応用できる — WebGPU Fundamentals, WebGL2 Fundamentals
    • 私も似たような感覚だ。ZbrushMayaに触発されてシェーダーでアートを作ろうとしたが、こうした巨大なソフトウェアを部分的にでも再現しようと思うと、この分野に毎日張り付いていないと無理そうだ。Zbrushの性能は本当に驚異的だ
    • Vulkanは初心者向けではない。基礎を分かっていても冗長すぎる。Modern OpenGLくらいで十分だし、どうしてもVulkanを使う必要があるならSDL3のような上位ライブラリを使うのがよい
    • 私の考えでは、現代のグラフィックスは複雑すぎる。GPUプログラミングコンピュータグラフィックスを混同してはいけない。初心者はVulkanよりも、CPUベースのラスタライザレイトレーサを自分で実装してみるほうがずっとよい
      例として Tiny RendererRay Tracing in One Weekend を勧める。
      こうした過程を経ると、GPUがなぜあのように設計されているのかを深く理解できる。その後でOpenGL 4.6やD3D11、そして ShaderToy, ShaderAcademy のようなサイトへと広げていくのを勧めたい
      CPUベースのレンダリングが今でも重要な理由は、映画用レンダラが精度のためにCPUを使っているからだ。参考までに、WARPLLVMpipe は実際のプロダクションでも使われているソフトウェアラスタライザだ
    • Vulkanは実際にはグラフィックスAPIではなく低レベルGPU APIだ。グラフィックスはGPUができることの一つにすぎない。これを理解すると、Vulkanの設計がなぜああなっているのか納得できる
  • このウェブサイトのコンテンツを本当に楽しんでいる。昨年、AIサムネイルに関するフィードバックを反映してくれたのにも感謝している — HNフィードバックリンク

    • それでも、トップに誤字だらけの画像がまだ残っているのは残念だ。教育用サイトとしては見栄えがよくない
  • 今年の目標の一つは、基礎からソフトウェア3Dレンダラを自分で作ることだ。ゲームエンジンもGPUも使わず、純粋に実装してみるつもりだ

    • 素晴らしいアプローチだ。私も長年そう教えてきた。多くの人は3Dグラフィックスといえばラスタライゼーションだと思っているが、私はむしろレイトレーシングから始められたのは幸運だったと感じている
    • 別の観点で見たいなら Computer Graphics from Scratch も勧める。無料で、名前が似ているので紛らわしいかもしれない
    • もう一つの良い資料として Tiny Renderer がある
    • 「build-your-own-x」プロジェクト集にも関連ガイドがある — GitHubリンク
    • 3Dグラフィックスをたった一つの数式で解き明かす動画もある — YouTube: One Formula That Demystifies 3D Graphics
  • 最近はLLMにウェブサイトのリンクやPDFを入れて、インタラクティブな学習資料に変えられる。私も今日1000ページのPDFをそうやって変換して、ゲームエンジンの勉強に活用した。ブックマークしたまま放置しなくて済むのがよい

    • ところで、1000ページのPDFを処理できるほどコンテキストウィンドウの大きいLLMがあるのか気になる
  • いつの日か、NVIDIAによるグラフィックスAPIの独占Googleによるウェブ支配、そしてAMDの弱い代替案が終わることを願っている