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 描画を行うための最低限の実装しかされておらず、例えばプロジェクトション行列の設定もされません。 このまま使うにはまだ不便ですので、サンプルコードは上記の最低限のものに留めます。