« いつもと違う状況下での卒業研究「プロダクトデザイン」について | トップページ | 裏切りの見せかた »

CGプログラミングの定番「レイトレーシング」を実装してみた

2020年12月29日 (火) 投稿者: メディアコンテンツコース

 先端メディアゼミナールは少人数の演習形式の科目です。成績による履修制限があり、研究に近いようなプロジェクトを学生が行う科目です。
 
 私の担当テーマは「CGプログラミング」です。今期の履修生は何と一名だけです。今回はCGに興味あるプログラマーなら一度は経験してみるレイトレーシングというアルゴリズムに挑戦しました。私自身も40年近くCG関連のプログラミングを行ってきています。レイトレーシングは5回以上はプログラムを書いた経験があります。
 
 詳細のアルゴリズムは検索すればいくらでも出てきますので、興味のある人は調べてみてください。
 
 今回の履修生の目標は、1980年に初めてレイトレーシングがCG分野で研究発表された論文の結果画像をマネしてみる、というものに設定しました。
 
Whitted1980 Nogiwa2020

 左の画像は1980年のTurner Whittedの論文で紹介された画像です。右は履修生のメディア学部2年生が自分で一から書いたプログラムの出力画像です。
 
 細かいところは違っていますが、概ね似た画像を出力することができました。三次元物体の形状描画、完全鏡面反射、屈折、テクスチャ、光源処理、影計算など、これだけのCG画像に各種アルゴリズムがプログラムされています。
 
参考文献
Whitted, Turner, “An Improved Illumination Model for Shaded Display,” Communications of the ACM, Vol. 23, No. 6, pp. 96-102, 1980.

メディア学部 柿本 正憲

在学生向け」カテゴリの記事

授業紹介」カテゴリの記事

高校生向け」カテゴリの記事

« いつもと違う状況下での卒業研究「プロダクトデザイン」について | トップページ | 裏切りの見せかた »