ProcessingでP3DやOpenGLの描画モードで実行画面が表示されない時の対処法


Processingで3Dグラフィックスを描画していくには、Processingの描画モード「P3D」やライブラリの「OpenGL」を利用していきますが、macOSではエラーで実行結果が表示されないといった問題に遭遇することがあります。
エディタのプログラムには、エラー箇所が見当たらないこともあり、原因がわからず悩まれることでしょう。

macOSのバージョンのCatalina以降では、32bitアプリのサポートを終了しており、macOS版のProcessingもこれの影響を受け、Javaプログラムのパッケージのバージョンによって、コンソールにエラーが表示されます。
Windowsではこうしたお話はあまり聞かないので大丈夫かと思いますが。

macOSで3D描画を実装するとAppKit警告が出ます。
状況によっては、実行結果がウィンドウに表示されないこともあります。

P3DやOpenGLの描画モードで実行画面が表示されない



通常の2D描画では問題は起きなかったものが、3Dレンダラーでは描画されないという。
この問題については、今後のOSの環境によって変わってきそうですが、frameRate()関数を設定することで、一旦は対応できそうです。


frameRate関数の設定


setup()関数にて、frameRate()関数で1秒間の更新頻度の設定をすることで、3Dで描画できない事象が解決できます。

frameRate()関数を設定して3D描画を実装



プログラムを実行した際に、エラー表示はあるもののウィンドウは表示され、描画に影響があることがわかったので、描画に関係してきそうな関数として、frameRate関数を設定しました。

まだ完全にエラーが消えるわけではありませんが、問題なく描画されるようになりました。

Windows PCでは、ご利用のPCに合わせて32bitまたは64bitのProcessingをインストールされますので、描画モードでの実行エラーはほとんど起きないと思います。

プログラミングでは、macOSのほうが環境を整えやすいイメージはありますが、Windows PCが珍しく対応しているという驚き。
とりあえず、macOSでは「frameRate()」の設定で解決しそうです。

今後のmacOSのアップグレードやJavaプログラムのパッケージのプログラムしだいでは、治るのか、それともこのままなのか、動向が気になるところです。