Date:2022-05-09
openFrameworks-Log vol.1/環境設定と導入
openFrameworksをはじめて利用するための環境設定と導入までを学んでいきます。openFrameworksは、C++言語は他の言語と比べ、ハードウェアに近いところからプログラム開発が行えるため、処理速度が速く大量のオブジェクトを描画するのに向いています。

筆者環境/macOS Monterey Apple Silicon Mac
openFrameworks とは。
openFrameworks は、C++で利用できるプログラムキットです。プログラムで何かを作る際、1からコードを打っていくのはとても大変で時間と労力がかかります。
openFrameworks は、その名の通り「開かれたフレームワーク」として、汎用性のある再利用可能なプログラムを公開しており、それらを利用することで、自身が作りたいものに専念しプログラミングを行うことができます。

ーーーーー
Index/目次
・開発環境の設定
・openFrameworks をダウンロード
・openFrameworksのファイル構成と利用
・openFrameworksでできること
・新規プロジェクトを制作
・Running on macOS for the first time? エラー
・新規プロジェクファイルの内容
・あとがき
ーーーー
開発環境の設定
開発環境ではそれぞれのOSに合わせたIDEを利用します。IDE(統合開発環境)とは、プログラミング制作に必要なソースコードからコンパイルまでの一連を統合して開発できるものです。
筆者のOSはMacなので、IDEはXcodeを利用し進めています。Windowsの場合は、Microsoftが開発しているVisual Studioを利用する人が多いようです。(Visual StudioはMacでも利用できます。)
openFrameworks をダウンロード
openFrameworks は、OS環境によってのバージョンがあります。
執筆時(2022年5月)のバージョンは0.11.2です。頻繁に新しいバージョンが更新されるのでopenFrameworks SNS をフォローしておくと情報を得るのに便利です。

ダウンロードを済ませたら管理しやすい好きな場所へ移動しフォルダを解凍します。筆者は書類フォルダにopenFrameworksという名前のフォルダを制作しアップデートされるたびに追加して管理しています。
openFrameworksのファイル構成と利用
zip解凍後、フォルダの中に複数のフォルダが入っています。リストは下記通り。
・addons/機能拡張
・apps/制作したものを保存する場所
・docs/ドキュメント(書類)
・examples/使用サンプル
・libs/openFrameworksの機能ライブラリー
・other/その他
・projectGenerator/新規で制作するためのジェネレータ
・script/スクリプト・テンプレート
利用方法は、projectGeneratorを使って新規でファイルを制作し、必要なライブラリー使いながらプログラムを制作します。保存は、appsフォルダにて管理します。
appsフォルダにmyApps/emptyExampleというサンプルフォルダがあります。後ほどでも良いので、プログラム制作を進めていく上で、どのファイルがどこに格納されているのか、その構造を確認しておくと良いと思います。
openFrameworksでできること
先ほどのフォルダリストの中にexamplesフォルダにopenFrameworksで利用できるライブラリーのサンプルが入っています。
それぞれフォルダ名にある通り、3D・通信(commuication)・イベント(何らかのアクションを取り入れる)・グラフィック・イン/アウト・文字列(String)・videoなど、汎用性のあるさまざまなプログラムの例が確認できます。気になるものを一通り開いて見てみるのも良いです。
新規プロジェクトを制作
新規プロジェクトを制作するにはprojectGeneratorアプリケーションを利用します。以前は利用するaddons(機能拡張)を手動で必要なフォルダに移動する必要がありましたが、このようなアプリケーションにて自動で追加してくれます。
※ macOSで利用の際、セキュリテーの面から、first time?と聞かれるエラーが発生する場合があります。事項にてエラー対処方法を記載しています。
projectGeneratorを開くと下記のようなポップアップが表示されます。

Project name: (プロジェクト名)に任意の名前を入れ、Project path: は保存先(デフォルトではapps/myApps内)を指定します。Addons:には必要があれば選択して追加します。
最後に一番下の“Geneate”をクリックSuccess! と表示されファイルが作成されるので、“Open in IDE”で開きます。
Running on macOS for the first time? エラー
openFrameworksは、さまざまなファイルを組み合わせながら使用するのでファイルの位置関係はとても重要になっていきます。所謂、ファイルがどこにあるのかルートを教えるパスを通すことが重要です。
macOSの場合、projectGeneratorを初めて利用する時、addons(アドオン)やlib(ライブラリー)の場所を示すため、ひとつ上の階層フォルダ“of_v0.11.2_osx_release”へパスを通す必要があります。※その内容はエラー文面にも描かれています。

first time エラー だけでなくても、of_v0.11.2_osx_releaseのフォルダ位置を変えると、openFrameworks path is wrong とエラーが出るので、利用する際はなるべくファイル位置を変更しないようにします。
【 pathエラー対処 】
一旦、projectGeneratorを閉じ、projectGeneratorアプリケーションを右クリックし、プルダウンメニューからパッケージ内容を表示を選択します。
Contents/Resources/app/とフォルダを開いていき、appフォルダ内のsettings.jsonファイルを開きます。

ファイルの中の“defaultOfPath”: “../”という箇所に“of_v0.11.2_osx_releaseのパス名”を指定し保存します。
パス名取得は、of_v0.11.2_osx_releaseフォルダを右クリック、optionを押すとプルダウンメニューに“of_v0.11.2_osx_releaseのパス名をコピー”と表示されるので選択コピーし、先ほどの“defaultOfPath”: 以下の ” ” 内にペーストし保存します。
修正を終え、再度 projectGeneratorアプリケーションを開くと利用できます。
新規プロジェクファイルの内容
新規プロジェクトを制作するとさまざまなファイルが生成されますが、主にコードを書き進めていくのは、srcフォルダ内にあるmain.cpp、ofApp.h、ofApp.cppの3つのファイルを利用します。
main.cppは、プロジェクトの大元を管理する内容にて、ウィンドウサイズやヘッダーなどを読み込みます。
ofApp.hは、ofApp.cppで利用するファンクション(関数)やクラスなどをまとめて設定・管理します。デフォルトで二つを見比べると同じ表記のものが記載されています。
ofApp.cpp内にある、setupやupdate,drawなどを利用し細かなプログラムを書き込んでいきます。
あとがき
ジェネラティブアートを作る際、オブジェクトの処理スピードが必要になり、openFrameworksにて制作しています。今後記事にて、利用方法をログとして残す予定です。
barbe_generative_library
Beyond Interaction[改訂第3版]
クリエイティブ・コーディングのためのopenFrameworks実践ガイド

初版/ 2020.10.14
ページ数/280ページ
出版社/ビー・エヌ・エヌ新社
言語/日本語
ーーーーー
”Books”では、”barbe_generative_Library”として、
barbe_generative_diary の創作において実際に購入し、読んだ本を紹介します。
ーーーーー