#author("2019-05-22T18:21:24+09:00","default:qua","qua")
[[Processing/3.ライブラリの利用]]
#author("2019-05-22T18:22:56+09:00","default:qua","qua")
#navi(Processing/3.ライブラリの利用)
* 3-3-4 ステレオ画像 [#q5fa0a04]
Camera 3D ライブラリはステレオ画像の生成を行う。簡単な赤・青の色付き眼鏡で見るような画像の例を示す。setup()内にcamera3Dに関する記述が増えたのと、preDraw()という手続きが増えたところが通常の3Dと異なっている。ステレオ画像を作成するためには、左右の目で見るための2つの画像を生成する必要がある。そのためにdraw()が1フレーム当たりに2回呼び出される。
そこで、1フレーム当たり1回だけ行うべき操作はpreDraw()またはpostDraw()の中に記述しておく。preDraw()はdraw()を実行する前、postDraw()は実行した後に実行される。


 import camera3D.Camera3D;
 
 Camera3D camera3D;
 float th=0, z = -400;
 
 void setup() {
   size(800, 800, P3D);
   camera3D = new Camera3D(this);
   camera3D.setBackgroundColor(color(192));
   camera3D.renderDefaultAnaglyph().setDivergence(1);
 }
 
 void preDraw() {
   z += 3;
   th += 0.1;
 }
 
 void draw() {
   strokeWeight(8);
   stroke(0);
   fill(255, 255, 255);
   translate(width/2, height/2, z);
   rotateY(th);
   box(100);
 }

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS