Processing 3.0の変更点

また久々の更新になってしまいました。

8月9日にProcessing 3.0 beta 2がリリースされたので、今回は公式ページを参考にProcessing 3.0の主な変更点をチェックしてみたいと思います。

Processing 3.0の変更点

Processing 2.xから3.xへの主な変更点は以下のとおりです。

描画高速化

P2DP3DなどのOpenGLを使用する描画モードがより高速・安定動作するようになりました。また、デフォルトの描画モードであるJAVA2Dも一部高速化しています。

JAVA2Dは最終的に、大幅に高速化されたバージョンであるFX2Dに置き換えられる予定です。

エディタの更新

付属のエディタが刷新され、Control+Spaceでの補完(環境設定メニューでオンにする必要あり)や、デバッガなどが使用できるようになりました。

f:id:tkitao:20150812224143p:plain

補完は候補が表示されるまで少し時間がかかるので、個人的には今一歩という感じです。

管理ツールの統合

プラグインの管理を行うウィンドウが統合され、標準のプラグインかどうかによらず、同じ画面でインストールやアップデートができるようになりました。

また、ビデオとサウンドのライブラリは管理ツールから個別に追加インストールする形に変更されました。

PVectorクラスがメソッドチェイン可能に

PVectorクラスのメソッドを以下のように連結させることができるようになりました。

PVector v = new PVector(1, 2, 3);
v.add(100, 100, 100).sub(50, 50, 50).mult(10);

世の中の流行に乗った形ですが、込み入ったベクトルの計算をするときに簡潔に書けるのでありがたいです。

PAppletクラスの基底クラスの変更

PAppletクラスの基底クラスがjava.afw.Appletではなくなりました。普通にProcessing標準のAPIを使っている分には問題ないのですが、プラグインなどは3.xでは動かなくなるものがそれなりにでてくると思われます。

個人的にはこれまで作ってきたツールが動かなくなるのでかなり痛いです。

その他の変更点

  • アイコンのデザインが新しくなった
  • pixelDensitydisplayDensity関数でRetinaディスプレイ向け描画に対応
  • smoothnoSmooth関数はsetup関数内で一回のみ設定可能になった
  • size関数の代わりにfullScreenを使用するとフルスクリーン描画が可能に
  • PDFと同様の方法でSVG出力が可能に
  • Javaコードで記述する際に、settings関数内に初期化命令を記述可能に

終わりに

Processing 3.xもブレずに正統進化といった感じでしょうか。ユーザーフレンドリーに徹しつつ、いたずらに機能を肥大化させないのがProcessingのいいところですね。