MoNo.OpenGL.GLControl¶
LINQPad で動かしてみる¶
LINQPad を立ち上げ、次の設定をします。
- 参照設定に MoNo.dll, MoNo.OpenGL.dll を加える。
- インポートする namespace に MoNo, MoNo.OpenGL, System.Windows.Forms を加える。
- Language を F# Expression にする。
次のコードを実行すると OpenGL ビューに直線が表示されます。
let form = new Form()
let view = new GLControl(Dock = DockStyle.Fill)
form.Controls.Add view
form.Show()
view.Paint |> Event.add (fun _ ->
MGL.DrawArrays (GLPrimType.Lines, [| Point3d.Zero; Point3d(0.5, 0.7, 0.) |])
)
MoNo.OpenGL の位置づけ¶
MoNo.OpenGL.dll は OpenGL を .NET 環境から利用できるようにした薄いラッパーです。
class | description |
---|---|
GL | OpenGL API を単純に P/Invoke するだけの関数群 |
MGL | MGL, GL をもう少し便利に使えるようにした薄いラッパー |
GLControl | OpenGL描画が出来る最小限の Forms コントロール |
GL の関数については OpenGL そのものですので、適宜 OpenGL について調べて下さい。
MGL の関数については、この先のドキュメントで必要に応じて説明します。
GLControl は OpenGL 描画を行うための最低限の実装しかされておらず、例えばプロジェクトション行列の設定もされません。 このまま使うにはまだ不便ですので、サンプルコードは上記の最低限のものに留めます。