今日のできごと

新しく組もうとしているプログラムの基礎調査のために、MacOpenGLを利用する際の初期化コード等を打っていた.

一応、 (GL4.2相当が利用できる状態で)NSOpenGLContext を初期化しNSView と関連づけてポリゴンを表示するところまではできた.

基礎調査の結果として期待していた知識は手には入ってのだが、NSView の上に(ボタンなどの)他のViewを配置する(addSubview: する)と glDrawArrays でエラーが返ってきてしまうことに気がついた.

NSView の派生クラスをこしらえて、それに対して NSOpenGLContext を関連づけると上手くいかず、NSOpenGLView にたいして他のViewを配置すると上手く行くことはわかったが、なんとなく釈然としない感じがする.

おそらく、NSOpenGLView の実装部分が Subview の描画関連をうまいこと処理しているんだろうという推察まで進んだけれども、実際に自分でNSOpenGLView 相当の NSView 派生クラスを実装できるイメージがつかめないのがきもちわるい.

ただ、これからやろうとしている事に対しては、 NSOpenGLView を利用すれば十分なこともわかったので、このあたりで基礎調査をやめることにする.

(内容のまとめは、気が向いたら書くかも)