NEUROMANTIC

自分でC/C++/UE4/Graphics/ゲームなどをやったことをメモするブログ

Raytracerの進捗

neuliliilli.hatenablog.com

の続きです。 チュートリアルを見ながらも、自分なりのスタイルで実装しております。

今までのまとめスクリーンショット

f:id:neuliliilli:20190530013718p:plain
AAx4 NoMaterial 元解像度1920x1080

f:id:neuliliilli:20190530013857p:plain
AAx4 Repeat-16 Lambertian Model Test 1

f:id:neuliliilli:20190530013956p:plain
AAx8 Repeat-8 LambertianとMetalの混合

f:id:neuliliilli:20190530021304p:plain
AAx8 Repeat-16 元解像度1920x1080

f:id:neuliliilli:20190530014200p:plain
`-v`をつけることで見れるログテキスト

実装した機能

  • JSONファイルを用いたカスタムシーンの読み込み・レンダリング機能←カメラの調整まで可能
  • ピクセルごとのAntialiasing機能(x1・x2・x4・x8)←ラテン方格でサブピクセルを決めました。
  • --repeatでピクセルごとに光線レンダリングを反復して平均値を取ることが出来る。
  • ガンマ(Gamma)調整機能←基本は2.2で
  • --threadオプションでマルチスレッドでレンダリングが可能
  • --width--heightでレンダリングした結果の画像サイズの調整が可能
  • .ppm以外にも.pngで画像を出力する機能
  • -vまたは--verboseでログを出力
  • -oで出力画像の名前の指定が可能