私の今の目標は、Steamでマルチプラットフォーム対応のゲームを公開することです。
出来れば共通のソースコードで各種環境に対応させたいと考え、先日、.NET CoreとOpenTKを使って、Mac/Linux(Ubuntu)/Windowsの各種環境で動作するOpenGLの共通ソースを書きましたが、この方法ではダメなようです。書き上げてから判明しました。
Steamでゲームを公開する際、Linux(Ubuntu)やMacに関しては利用できるライブラリが決まっており、.NET Coreなどは使えません。多分。
結論としては、C++でOpenGLを利用する形で行けば大部分は大丈夫な気がしています。
DirectXは論外です。Windowsでしか動きません。スマホ/Mac/Linuxが対象外になってしまいます。
と言うわけで、直近での次の作業はC#で書き上げたソースをC++に変更することとしました。その際、C++からOpenGLを利用するためfreeglutを使います。GUIに関してOpenTK(GameWindowクラス)は使えないので、GLFWなども利用予定です。