RC Tracing 2.1
作品
プレビュー
エラーログ
エラーログ
処理
解析 クリアインスペクタ
更新内容
曲面のレンダリングに対応
面がまっすぐになるようにシーン全体を回転させ、反射を処理してから逆に回転することで、曲面のレンダリングに対応させ、乱反射の精度を向上させました。
具体的には、レンダリングした後にその画像の1番明るいピクセルを下に画像全体のあかるさを調節し、メモリによる停止が起こらないようにしました。
画像
使用方法
サンプリング数
レンダリングする光の本数です。光の本数が多いほど処理は重くなりますが像は明るくなり、きれいになります。
光速
光の速さを設定します。数値が大きければ大きいほど処理は速くなりますが、当たり判定の処理が大まかになります。
アイリス
カメラで言う「絞り」の大きさを設定します。スケールは「F値」とは異なります。大きくするほどカメラに入る光の量が増え、像が明るくノイズが少なくなり、ピントがズレるとより大きくボケるようになります。アイリスは数値を大きくしてもほとんど処理には影響しません。
フォーカス
画像のピントが合う位置を設定します。小さくすると遠くのものに焦点が合います。
スケール
画像の大きさを設定できます。数値を大きくすればするほど、ズームしたような画像になります。
解析
設定が終わったら「解析」というボタンを押すと処理が始まります。処理が終わるまで時間がかかることがあります。レンダリング結果はボタンの上に表示されます。
解析が終わってからも、再び「解析」を押すことでより画像を明るくすることができます。その際、「サンプリング数」と「光速」以外のインスペクタを変更しないでください。像がブレたように映ることがあります。
もう一度初めからやり直すときは「クリア」というボタンを押します。
レンダリング方法について
この作品は、光の筋を一つ一つレンダリングして画像を生成する方法を用いています。
実際は光は光源から出ているので、光源からレンダリングするとよりリアルな画像を生成できますが、以前のレイトレーシング Ray Tracingでは、軽量化のためにカメラのピクセル側からレンダリングを行っていました。そのため、カメラのピクセルが基準となってしまい、光がレンズなどで密集しているところなどでは明るさがうまく表現できないという問題点がありました。
このプロジェクトでは実際と同じようにレンダリングを光源からしています。このレンダリング方法はその特性からボケができます。今までこの方法を試したときは画像全体がボケてしまいましたが、最近になって画像の一部に焦点を合わせてレンダリングできる方法を思いついたため、実際にJavaScriptで作りました。
また、JavaScriptで作ったため、Scratchと比べて大幅に軽量化できました。
詳しいレンダリング方法については、こちら(抽象的な表現を多く含みます)に書いています。
コメント
コメントはホームページに公開されます。自分や誰かの個人情報(本名, 年齢, 性別, 住所等)を掲載しないでください。コメントにはURLを記載しないでください。他の人が閲覧しても不快と思わない内容である必要があります。コメントはこちらの判断で削除させていただく場合があります。この機能は予告なく終了させていただく場合があります。