.. :tocdepth:2 ============================ MoNo.OpenGL.GLControl ============================ LINQPad で動かしてみる ================================ LINQPad を立ち上げ、次の設定をします。 * 参照設定に MoNo.dll, MoNo.OpenGL.dll を加える。 * インポートする namespace に MoNo, MoNo.OpenGL, System.Windows.Forms を加える。 * Language を F# Expression にする。 次のコードを実行すると OpenGL ビューに直線が表示されます。 .. code-block:: fsharp 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 描画を行うための最低限の実装しかされておらず、例えばプロジェクトション行列の設定もされません。 このまま使うにはまだ不便ですので、サンプルコードは上記の最低限のものに留めます。