ついについにリリースされましたね.
arturoが実質殆どコミットしなくなった今回は dimitre君 が大活躍のリリースです.
ということで個人的に気になってる点をまとめます.
C++17対応
やっとC++17対応しました.
std
に boost::filesystem
とか std::experimental::filesystem
とかぶっ込んだせいでにっちもさっちもいかなくなっていたoFですがついに.
今のところ上記のようなダーティなことは見当たらないのでC++20や23にもすんなり上げられる環境をキープしていきたいですね.
ちなみに, of::filesystem
というのが散見されるけどこれは基本的には std::filesystem
か std::experimental::filesystem
のどちらかになっています. 今見たら OF_USING_STD_FS
が 0
のとき用で boost::filesystem
も残ってるな... うーん...
ARC対応
macOS/iOS周りの話ですが, ARCに対応しました. 俺もだいぶ頑張った!(デカいPRマージされてから忙しくなってその後放置してしまったので申し訳なさ)
ただ, iOS周りがユーザー数の少なさもあってまだまだバギーな印象なので我こそはoFでiOS使うぞ!という血気盛んな方は是非色々コミットしていってもらいたいですね.
ProjectGenerator
誰も殆どメンテしないまま10年近い月日が流れたoFの魔境ことPGも内部的にだいぶ変更がありました.
謎の文字列処理で真意が読み解けないパス周りの処理もdimitreが頑張って std::filesystem
を使ってモダンに.
フロントエンドも何度もelectronのバージョンアップのPRが投げられていたにも関わらず化石のようなバージョンのままだったところをApple Silicon対応とかのために最新版に.
その間にIPC周りの大幅変更やレンダラープロセスでのrequireが禁止されたりしていてだいぶダーティな方法で一旦アップデートしています. (時間見つけてちゃんとした方法に書き直したい...)
まだまだだいぶバギーなので問題が多分にあると思われるので何か見つけたらissue立ててください.
PG周りの細かいところ
これもmacOS/iOS周りの話になりますが,
scripts/templates/osx|ios/emptyExample.xcodeproj/projet.pbxjproj
がXMLからjsonになっています. 多少読みやすくなった?
結局基本構造は変わらないしXcodeで修正したファイルは謎のjson風plistになるので根本解決には至ってないのでもう少しなんとかしたいところ.
あと, App.xcconfig
というファイルを自分で作ってプロジェクトディレクトリに置くことでcodesign周りの設定とかがPG通しても置き換えられないようになったので毎回カメラアクセスの許可求められたりしてたのが楽になります. 参考
その他追えてない/追う気が無い辺り
ofCubeMap / ofCubMapShaders
多分CubeMapするやつ.
ofShadow
多分影に関係してる.
ofAVEngineSoundPlayer
macOS用のサウンドプレイヤー.
fmodが要らない.
ofMediaFoundationPlayer
, ofMediaFoundationSoundPlayer
主にWindows向け.
ofMediaFoundationPlayerはcodecを追加で入れなくて良いとのこと.
ofMediaFoundationSoundPlayerはfmodが要らない.
後書き
意外と書くことなかったな...
また何か思いついたら追記します.