← グラフィックスに戻る

GLSL シェーダー・パストレーサー

MIS と BVH を備えた GLSL/OpenGL ベースの GPU パストレーサー

日付 2025年5月
タグ
glslopenglc++

カバー画像

128spp、1303×2000、デノイズなし、2 分 19 秒。ACES トーンマッピング

カバー画像

キャラクターモデル:YYB-Era 氏。シーンモデル・構図・ライティングは本人が担当。

マテリアル

Trowbridge-Reitz マイクロファセット鏡面反射・透過

1024spp、1000×1000、デノイズなし。Reinhard トーンマッピング

ラフネス 0.01ラフネス 0.05ラフネス 0.25
ラフネス 0.01ラフネス 0.05ラフネス 0.25
ラフネス 0.50ラフネス 0.75ラフネス 0.95
ラフネス 0.50ラフネス 0.75ラフネス 0.95

Oren-Nayar マイクロファセット拡散反射

512spp、1000×1000、デノイズ済み。ACES トーンマッピング。Oren-Nayar モデルは sigma = 0.8 を使用。

一般的に使われている簡略化 Oren-Nayar が、Lambertian よりも明らかに暗く見えることが分かる——これは、広く使われている簡略化 Oren-Nayar モデルが実はエネルギー保存を満たしておらず、sigma > 0 のとき A < 0 となって光エネルギーを失ってしまうためである。下の画像はわずかなエネルギー保存補正を加えた結果。

レンダリング結果の差が特に目立つのは岩肌とドラゴンのあご部分——こうしたグレージング角では、Oren-Nayar モデルの方が光エネルギーをはるかに良く保ってくれる。

LambertianOren-Nayar(エネルギー保存補正)Oren-Nayar
LambertianOren-Nayar EC FixOren-Nayar

モデルは Benedikt Bitterli の rendering resources より

金属(導体)のフレネル反射率

ゴールド — eta [0.183, 0.421, 1.373]、k [3.424, 2.346, 1.770]

カッパー — eta [0.271, 0.677, 1.316]、k [3.609, 2.625, 2.292]

アルミニウム — eta [1.655, 0.879, 0.520]、k [9.224, 6.270, 4.837]

金属マテリアル

Intel OpenImageDenoise

12spp、1303×2000。ACES トーンマッピング

ローデノイズ後
ローデノイズ後

環境マップ

1024spp、1000×1000、2 秒。Reinhard トーンマッピング

コーネルボックスガラス球
コーネルボックスガラス球

冒頭のカバー画像ではプロシージャルスカイボックスを使用している。

被写界深度

128spp、1303×2000、デノイズなし。ACES トーンマッピング

DOF なしDOF あり
DOF なしDOF
球面レンズアナモルフィック
球面アナモルフィック

NEE デモレンダリング

1024spp、1000×1000

エリアライトスポットライトスフィアライト
エリアスポットスフィア
ポイントライトラフミラーVeach シーン
ポイントラフミラーVeach