C#をUIに,OpenGLをアンマネージコードにて実装する方法

ここんところ,ずっと
OpenGLな作業をやっており

これが,VC++にて実装作業
マネージOpenGLなライブラリも考えたけど,将来展開を考えると,アンマネージコードのほうが,つぶしが効くかな,と判断

でもまぁ,UIは,C#でやりたいよねぇ~だったもんで

C#(マネージコード)の画面上に,VC++&OpenGL(アンマネージ)なDLLを使って,3Dな画面を描画するサンプル
ちょいと書いてみた

参考にしたのは,このページ

VC++のダイアログベースアプリケーションの子ウインドウでOpenGL@小坂敏文さま
こちらのページでは,MFCのダイアログベースで,OpenGLをやろうって,お話です
うちのやつと合わせて,ご参照ください



うちで作ったプロジェクトの全文をアップしておきましたんで,ご自由にお使い下さいませ>ダウンロードはこちら
いつものとおり,バグっていたらすまんこってす(爆



作戦的には

1.C#のコンポーネント(今回はパネルコンポーネントを使用)から,ウインドウハンドルを取得(プロパティ名:Handle)

2.このハンドルをアンマネージDLLに渡す

3.アンマネージDLL側では,ウインドウハンドルをhWndとみなして,DC(デバイスコンテキスト)を取得

4.このDCを使って,OpenGLを叩く...ここらへんは,VC++のダイアログベースアプリケーションの子ウインドウでOpenGL@小坂敏文さまのコードとさほど変りないです

稼働中の画面はこちら



参考にドゾー♪