2007年7月25日 星期三

Windows Form上使用OpenGL

環境: VC++ 2005

原本要試著在windows form上加入opengl的程式

結果一開始居然出現找不到include file 'windows.h'

真是神奇啊 ... 最基本的Windows SDK居然沒附在上面... = =||

直接把VC6的include檔加入又會出現更多的錯誤.... 囧

上網找了好久

總算是找到了解決方法.. = =||

原來2005上面還要另外灌Microsoft Platform SDK才可以用Windows SDK

安裝教學網址

灌好之後總算可以編過了..

從codeproject抓回來的範例中..

3D場景是整個render在視窗上面..

為了要改成只render到panel上面.. 也花了一點時間找code ...

傳入的參數是System::Windows::Forms::Form...

再將此參數的handle丟給opengl... opengl就能夠利用此來render到整個form上..

至於要render到panel上的話.. 反正panel也是視窗物件 .. 想必一定也有handle

所以將傳入的參數型態改為System::Windows::Forms::Panel...

果然就沒問題了~ opengl可以畫在panel上了

不過windows form還真是神奇的東西... 或許應該說是M$做的新型C++真是神奇的東西..

多了一個^ 其作用似乎是類似指標的東西..

是不是也提供了自動回收的功用咧(好像好久前看programming版看到?)

找個時間來找點資料閱讀一下好了~~

1 則留言:

匿名 提到...

您好,
我是從網頁上打 opengl windows form 連過來的
我目前正在美國念書
旁聽一門 graphics 的課
系上教 opengl 的用法不多, 大部分教演算法
我想要試著做一個 windows 視窗方便放更多元件
可是我很少寫視窗程式
我找了資料發現有人用 MFC + opengl
有人用 windows form + opengl
到底哪個比較好呢??? 有差別嗎?
可以問一下你為什麼想要用 windows form 嗎??
因為想要學又不知道怎麼下手
如果你可以分享我一些經驗我會感激不盡的! :)