OpenTKについて
OpenTKとは?
OpenTK(Open Toolkit Library)とは、C#用のOpenGLラッパーライブラリです。ただそれだけではなく、3Dプログラミングをサポートするための機能が追加されています。
C言語(C++)でプログラムする場合、ベクトル演算や行列演算の関数を自分で作成するか探してこなければなりませんし、ポインタやメモリリークの問題が起こることもあります。
しかしC#を使ったOpenTKなら、OpenTK付属の各種数学のライブラリや、ガーベジコレクションやVisualStudioの強力なインテリセンスを使うことができます。
「C#はWindowsでしか動かない。」ということを心配している方もいるかもしれませんが、Monoというプロジェクトがあるので.NETアプリケーションはMacOSやLinuxでも動くようになってきています。
OpenTKのサンプルでよく見かけるのはFormアプリケーションだったりWPFだったりしますが、OpenTK付属のGameWindowクラスを用いればMonoの上でもアプリケーションが動くはずです。
OpenTKのすゝめ
※個人的な感想です。
C#+OpenTKのメリット
- VisualStudioのインテリセンスで記入が楽
- メモリの管理がしやすい
- 入出力はGameWindowクラスに一任できる
- [Windows]FormsやWPFと連動しやすい
C#+OpenTKのデメリット
- グローバル変数が使えない
- C言語でやってきた人には違和感がある
- ガーベジコレクションで動作が遅いかも
- 資料が少ない あっても英語ばかり
スピード重視の3Dゲームを作ろうとしている方やC#が嫌いな方でない限り、勉強目的ならC#+OpenTKでサクサクやってしまったほうがいいのではないでしょうか?