サードパーティ製ライブラリを使わず、約500行の素のC++でソフトウェアレンダラーを作りながら、3Dレンダリングを段階的に学べる講座です。
RayTracing/raytracing.github.io
C++で一からレイトレーサーを作る方法を解説する無料のオンライン書籍シリーズ。各段階のソースコードも公開しています。
- スター
- 10,719
- フォーク
- 1,016
- 未解決の Issue
- 81
- 最終コミット
- 3 か月前
これは何?
「Ray Tracing in One Weekend」は、レイトレーサーを段階的に実装する方法を解説する全3冊のシリーズです。1冊目では基本的なパイプラインを扱い、動作するレンダラーを完成させます。2冊目の「The Next Week」では、より高度なレンダリング機能を追加し、3冊目の「The Rest of Your Life」では、基礎となる技法をさらに掘り下げます。
リポジトリには書籍のHTMLページがあり、ウェブ上で無料公開されているほか、印刷用のPDFも用意されています。また、各書籍の完成版ソースコードと、本文で使われている画像や図版も収録されているため、自分の実装を参照実装と比較できます。コードはC++11で書かれており、パフォーマンスの最適化よりも幅広い読者にとっての読みやすさを重視した、意図的にシンプルなスタイルになっています。プロジェクトはCMakeでビルドでき、画像はPPM形式で出力されます。
このソースコードは単独で使うチュートリアルではなく、実装内容を確認するための補助資料として提供されています。また、シリーズをほかの言語やOSで実装したコミュニティ版も紹介しています。
主な機能
- 01基礎から応用まで、レイトレーシングを解説する無料のオンライン書籍
- 02各書籍の最終段階までの完全な参照用ソースコード
- 03印刷可能なHTML版とPDF版
- 04Windows、Linux、macOSでCMakeを使ってビルド可能
- 05画像をPPM形式で出力
ユースケース
- 自分でレイトレーサーを実装しながら、その仕組みを学ぶ
- 自作レンダラーを信頼できる参照実装と比較して確認する
- 物理ベースレンダリングの概念を実践を通じて学ぶ
クイックスタート
- 1
GitHub からリポジトリをクローンします
- 2
プロジェクトのルートディレクトリで CMake を使ってビルドを設定します
cmake -B build - 3
すべてのターゲットをビルドします
cmake --build build - 4
プログラムを実行し、画像を PPM ファイルに書き出します
build\Debug\inOneWeekend > image.ppm
使う前に知っておきたいこと
- このリポジトリで提供されるのは、自分の成果物と比較するためのリファレンス用ソースコードであり、単体で動作するアプリケーションではありません。
トピック
よくある質問
- raytracing.github.io とは?
- C++で一からレイトレーサーを作る方法を解説する無料のオンライン書籍シリーズ。各段階のソースコードも公開しています。 「Ray Tracing in One Weekend」は、レイトレーサーを段階的に実装する方法を解説する全3冊のシリーズです。1冊目では基本的なパイプラインを扱い、動作するレンダラーを完成させます。2冊目の「The Next Week」では、より高度なレンダリング機能を追加し、3冊目の「The Rest of Your Life」では、基礎となる技法をさらに掘り下げます。
- raytracing.github.io は無料で使えますか?ライセンスは?
- raytracing.github.io は CC0-1.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- raytracing.github.io は今もメンテナンスされていますか?
- 半年以内に更新あり。raytracing.github.io の最終コミットは 2026年8月10日 です。
- raytracing.github.io は何に使えますか?
- 自分でレイトレーサーを実装しながら、その仕組みを学ぶ 自作レンダラーを信頼できる参照実装と比較して確認する 物理ベースレンダリングの概念を実践を通じて学ぶ
- raytracing.github.io のインストール方法は?
- GitHub からリポジトリをクローンします プロジェクトのルートディレクトリで CMake を使ってビルドを設定します: cmake -B build すべてのターゲットをビルドします: cmake --build build プログラムを実行し、画像を PPM ファイルに書き出します: build\Debug\inOneWeekend > image.ppm
- raytracing.github.io はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/RayTracing/raytracing.github.io
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
pbrt-v4は、『Physically Based Rendering』第4版に付属する、C++で書かれた物理ベースのレイトレーサーです。
Blenderは、モデリング、リギング、アニメーション、シミュレーション、レンダリング、コンポジット、モーショントラッキング、動画編集に対応した無料のオープンソース3D制作ソフトウェアです。
実行可能なコードを十数以上のプログラミング言語で掲載した、無料のオープンソース図解データ構造・アルゴリズム入門書。
エディターの特に役立つ機能に焦点を当ててVimとVimscriptを学べる、無料のオープンソース書籍。
GeForce RTX GPUでMinecraft Java Edition 1.21.1にNVIDIA RTX Remixのパストレーシングを追加するベータ版Fabric mod。