「Xamarin.MacでNSOpenGLViewを使う」を編集中

ナビゲーションに移動 検索に移動

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

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

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート:

このページは 1 個の隠しカテゴリに属しています: