Miyabiarts.net

一年に一度の更新頻度

OpenTKのインストール

OpenTKは、C#などからOpenGLやOpenALなどを扱うためのライブラリです。
Vector3などの数学ライブラリが付いていたり、ゲームパッド入力なども入っており、Monoでも動くことを考慮するC++のSDLみたいな位置付けと考えても良さそうです。

インストール方法

インストール方法は、公式ページからインストーラをダウンロードして実行するだけですが、一部数学ライブラリに問題があるため、Subversionのtrunkをチェックアウトして、自分でビルドする方が良いと思います。
trunkのURLは以下となっています。

https://opentk.svn.sourceforge.net/svnroot/opentk/trunk

チェックアウトしたら、「OpenTK.sln」を開いて、DebugかReleaseでビルドすると、さほど時間がかかることもなくライブラリが作成されます。
作成されたライブラリは、チェックアウトしたディレクトリ以下の「OpenTK/Binaries/Debug or Release」にある「OpenTK.dll」「OpenTK.GLControl.dll」が必要となります。

使いかた

まずは、「参照設定」で先程の「OpenTK.dll」「OpenTK.GLControl.dll」を追加しましょう。
ここでは、OpenTKの中のOpenGL周りの使いかたについて簡単に説明します。
OpenALやInputについても、usingを増やすだけなので特に難しいことはありません。
usingに関しては、基本的に以下の3つを使えば良いです。

using OpenTK;
using OpenTK.Graphics;
using OpenTK.Graphics.OpenGL;

OpenGLのレンダリング領域には、GLControlというユーザコントロールを用います。
「OpenTK.GLControl.dll」を追加しておくと、デザイナにGLControlが現れているので、それを親ウィンドウ上に貼り付けるだけで良いです。
そして、Paintイベントや、TImerイベントなどでOpenGLのレンダリング命令を呼び出します。

OpenTKのOpenGLでは、元々の「glHoge」というAPIが「GL.Hoge」として使えるようになります。
例えば、直線を書きたい場合は、以下のような感じです。

GL.Begin(BeginMode.Lines);
GL.Vertex3(0.0f,0.0f,0.0f);
GL.Vertex3(1.0f,1.0f,1.0f);
Gl.End();

実際にはこのあたりの固定機能の命令はOpenGL4.1ではなくなっているので、VBOやVSAを使ってシェーダでレンダリングするのがモダンな使いかただと思います。
また、「using OpenTK.Graphics.OpenGL」の代わりに「using OpenTK.Graphics.ES20」を使うとOpenGL ES2.0を使えたりもします。

基本的にはOpenGLのAPIをそのままラッパしたものなので、今までOpenGLを使ったことがある方は簡単に移行できるかと思います。

広告

Comments are closed.

%d人のブロガーが「いいね」をつけました。