メインメニューを開く

差分

Xamarin.MacでNSOpenGLViewを使う

554 バイト追加, 2017年12月21日 (木) 07:24
Administrator がページ「Xamarin.Mac/NSOpenGLViewを使う」を「Xamarin.MacでNSOpenGLViewを使う」に移動しました
 ==概要==
[[OpenGL]]は一見すると非常にシンプルなので簡単に扱えるように思えてくる。
すると[[CoreGraphics]]だの[[CoreAnimation]]だので悩むより、[[OpenGL]]を使って2Dやった方が早い気がしてくる。
== 実装1 ==
[[Xamarin.Mac]]では[[OpenGL]]に加えて[[OpenTK]]も標準で使えるので非常に簡単に実装できる。
 
=== 基本 ===
基本的には以下の手順だけで利用できる
*NSOpenGLViewを継承したカスタムコントロールを作る
*:「[[Xamarin.Mac/カスタムコントロールを使用する]]」も参照
*DrawRectメソッドをオーバーライドして描画処理を書く
=== 準備 ===
Xamarin.Macに標準で用意されているOpenTKの参照を追加する。
[[ファイル:Xamarin.MacでOpenTKの参照を追加.png|none]] === NSOpenGLViewを継承したカスタムコントロールを作る ===*「[[Xamarin.Mac/カスタムコントロールを使用する]]」も参照
=== DrawRectメソッドをオーバーライドして描画処理を書く ===
三角形を描画してみる。
<source lang="csharp">
// コンテキストを有効化する
glc.MakeCurrentContext();
 
// 塗りつぶす
GL.ClearColor(red:0.5f, green:0.5f, blue:0.5f, alpha:0);
GL.Clear(ClearBufferMask.ColorBufferBit);
// 描画コマンド群
}
</source>
 
=== NSOpenGLViewを貼る ===
Interface BuilderやStoryboardを開き、ViewControllerに「NSOpenGLView」を貼る。
他のNSView系コントロールと違い「NSCustomView」ではなく「NSOpenGLView」となる点に注意。
 
=== クラス名を書き換える ===
NSOpenGLViewのクラス名を派生コントロールのものに書き換える。
[[ファイル:Xamarin.MacでNSOpenGLViewの派生コントロールを貼る.png|none]]
==関連項目==
匿名利用者