ねこでじ(Nekodigi)

Nekodigi’s diary

学習中の気づきをまとめています。応援よろしくお願いします

Processing-PathTracing

【Processing】3DレンダリングエンジンにGlossyシェーダーと鏡面反射を実装する

成果物 以前の画像と比べて、光を反射する物体が二種類増えています。一つは鏡に似ている鏡面反射で、もう一つは、粗さ?を変更できるGlossyシェーダーです。(金属に近い感じです) 仕組み レンダリングエンジンの基本的な仕組みについてはこちらをご覧くだ…

【Processing】Path Tracingで3Dレンダリングエンジンを自作!

成果物 とうとう、Processingでレンダリングエンジンを自作することができました!Rayを大量に発射して光の反射を計算しているので、リアルな質感になっています。 仕組み Rayを使った、反射色の取得 カギになっているのがこの式です。x1が反射光の出発地点…

【Processing】線と球面、線と平面の交差

成果物 www.youtube.com 今回は、前回の2次元上でのRayを、3次元に拡張しました。球と無限の大きさの平面に対応しています。 解説 球 計算式はこちらです。Rayの原点をo、向きをl、円の中心をc、円の半径をrとしています。 Wikipediaに書いてあるとうり、交…

【Processing×Path Tracing】法線の周りの半球上の点をサンプリングする。

成果物 www.youtube.com PythonのPath Tracingのサンプルが動いたので、それをもとにProcessingでPath Tracingを作ってみるというシリーズを始めていこうと思います。今回は、そのための基礎として、半球状の点をサンプリングするプログラムを作りました。(…

【Processing】RayCastでシンプルなRenderingをしてみた。

成果物 www.youtube.com 今回は、前回のRayCastのシステムをもとに、Rayが長ければ薄くRayが短ければ濃く表示するプログラムを作りました。長さも変更することで立体感を出しています。今回は、記念すべき100本目の記事です。これからも応援よろしくお願いし…