itsukichang

フロントエンドが得意なエンジニア.ダーツと旅行とギターが好き

processingで描画モードをOPENGLにして,Captureとか使うときの注意

processingで,

size(width, height, OPENGL);

こんな感じに描画モードをOPENGLにして,そこでvideoとか使いたくて,

Capture video;
video = new Capture(this, width, height);

と,した時に,環境によって動かない時があるっぽい.

どうなるかというと,実行は出来てウィンドウは出るんだけど,そこで何も表示されないままフリーズ.
エラーや警告文は無し.stopボタン押せば消えるけど.

ちなみに僕の動作環境は以下

  • MacBookPro 2010 (プロセッサ: 2.4GHz IntelCore2Duo, メモリ:4GB, グラフィクス: NVIDIA GeForce 320M)
  • Mac OS 10.6.8
  • processing 1.5.1

対策

size()直下にレンダラの動作条件を設定するhint()メソッドを書く.

size(width, height, OPENGL);
hint(ENABLE_OPENGL_4X_SMOOTH); //DISABLE_OPENGL_2X_SMOOTHでも可

ちなみに

processing2.0以降からレンダラがP2DとP3Dの2種類になるらしいよ