解説が無かったので、解説を書いてみました。いつものようにプログラムです。(.NETを使ったOpenGLのサンプル)Windowの右側の領域がOpenGLで描画されています。ボタンを押すと、ポーズのON/OFFが切り替わります。ソースには、いつものように適当にファイルが入っています。大事なファイルは次のものです。開発は、VBと同じようにフォームを作成することから始まります。フォームアプリケーション」を作成します。そのあと、適当に部品を張り付けます。ここでは、ボタンを置くパネルと描画するためのpictureBox、ポーズのためのボタン及びTimerを張り付けました。DockプロパティをLeftに、pictureBox1はDockプロパティをFillにしました。これによって、フォームのサイズを変更したときにpictureBoxのサイズも自動で変わってくれます。(panelのあとにpictureBoxを配置する必要があります)あと、プロパティウィンドウをイベント表示にして、pictureBox1の描画関数、タイマーの更新関数、ボタンをクリックしたときの関数を追加します。勝手にプロトタイプが追加されるので、あとは中を埋めて生きます。ボタンを押すイベントは、下の黄色い部分以外は勝手に作られています。}なお、この関数の中で使っている変数「bPause」は、クラスの宣言に手で追加しています。イベントをヘッダファイルで編集するのが基本のようです。インクルードしていません。プログラムとして用意されているものを組み込むために一寸技巧を凝らします。具体的には、下のような関数を作ります。tpotフォームはvoid*をOpenGLのハンドルと考えて処理します。開放のためのフォームの関数です。OpenGLの初期化は描画するオブジェクトのハンドルを与えれば良い様に作りました。pictureBoxは、Handleというそのままのオブジェクトを持っているので、これを渡せばpictureBoxに描画できます(というかそのように作りました)。型で収められているということです。キャストすれば良く、ToInt32()でint型にしてからHWND型にキャストして処理します。}で、今までが前座です。自体の処理を行います。管理をしているのですが、このクラスは、windowハンドルからデバイスコンテキストのハンドルを所得して、レンダリングコンテキストを作成します。この作成には、wgl関数が使えます。ピクセルフォーマットを指定します。}終了するときは、作成したレンダリングコンテキストを削除して、所得したデバイスコンテキストを開放します。コンテキストをカレントからはずす。いう関数を作って、タイマーから16msごとに呼び出しています。(MyRenderは、グローバルな関数です。これはちょとしょぼいですね。中身は、ちょっと以外OpenGLプログラムです。適当にクリアして、ポリゴンを描画しています。}ちょっと違う部分というのが、描画の直前と直後です。これは先ほど作成したCGlクラスのコンテキストを使う部分です。つかって、デバイスコンテキストにレンダリングコンテキストを割り当てます。}終了したら、デバイスコンテキストをスワップして画面を更新すると共に、レンダリングコンテキストを切り離します。これらは、普通のWindowsのOpenGLプログラムなので、他のサイトを見ても同じ内容を見かけるでしょう。}さて、本当のところあと少し残りがあります。CGlクラスを作成した後に、背景色の設定や深度バッファを有効にするなど普遍な部分をあらかじめ設定しておきます。描画開始時と同じようにデバイスコンテキストにレンダリングコンテキストを割り当てているだけです。「追加の依存ファイル」に追加する必要があります。frameworkに移ってもいい気がしました。C++だと、ライブラリがそのまま使えて楽ですね。ライブラリが作られているようなので、何でもいいか。もどるimagire@gmail.com。