最近開始準備做opengl方面的東西,萬事開頭難,真是體會頗深,簡直就是寸步難行。有時候發各帖子到網上,不停地重新整理,希望能有高手指點,可是,每次收穫並不是太大。也許,每個程式設計師都有乙個痛苦的過程,我當然不能例外了。不過,痛苦之後有收穫才是最大的快樂。
正因為這個原因,當我度過了自己的第一難關時,心裡**了;不過,想到自己的痛苦經歷,真是往事不堪回首;想必還會有人不斷地開始學習opengl吧,希望我寫出來的東西,能減輕他們的痛苦經歷。
在mfc下編opengl的程式,首先要設定環境:
首先在xxview.h下,加入標頭檔案
#include"gl/gl.h"
#include"gl/glu.h"
#include"gl/glaux.h"
然後再把下面的檔案加入到自己的工程中。
vc所在的盤:/program files/microsoft visual studio/vc98/lib/opengl32.lib
vc所在的盤:/program files/microsoft visual studio/vc98/lib/glu32.lib.lib
vc所在的盤:/program files/microsoft visual studio/vc98/lib/glaux.lib.lib
可能有些你目前用不到,不過沒有關係,以後再用就不用改了。
下面是主要的四部分:
4-1:
void cmysunview::oninitialupdate()
; int m_pixelformat;
m_pixelformat = ::choosepixelformat(m_hdc, &pfd);
::setpixelformat(m_hdc, m_pixelformat, &pfd);
// m_hrc = ::wglcreatecontext( m_hdc );
wglmakecurrent( m_hdc, m_hrc );
} 4-2:
void cmysunview::ondraw(cdc* pdc)
4-3
void cmysunview::onsize(uint ntype, int cx, int cy)
4-4
bool cmysunview::onerasebkgnd(cdc* pdc)
void cmysunview::ondestroy()
cmysunview::cmysunview()
class cmysunview : public cview
上面是主要的步驟,當然,其他個性化的東西都可以新增上去,這是最小化的最基本的東西,可能也會有不妥地地方,不過已經能看到東西了。
我想程式這麼簡單就不要做太多的解釋了,有興趣的話,繼續**。
本文**
解決OpenGL在MFC下的閃爍問題
boolcopenglview onerasebkgnd cdc pdc 我們知道,在視窗中拖動乙個圖形的時候,由於邊畫邊顯示,會出現閃爍的現象。在gdi中解決這個問題較為複雜,通過在記憶體中生成乙個記憶體dc,繪畫時讓畫筆在記憶體dc中畫,畫完後一次用bitblt將記憶體dc 貼 到顯示器上,就可...
OpenGL在MFC中的實現
1 在寫 之前,首先要做好opengl的環境配置。比如路徑之類,還有新增標頭檔案,標頭檔案新增在stdafx.h中,有位置要求,不能在 include 這句之上 這兩句加在 stdafx.h 裡面的 include 以上就會出現問題,需要加在這一句下面 include include 2 修改函式b...
在MFC中使用OpenGL相關配置的整理總結
本文參考了 megabyte 的opengl教程 hglrc m hglcontext opengl的rc控制代碼 bool bglewinitialized 初始化glew的判斷標誌 bool initglew hdc 首先初始化glew bool createviewglcontext hdc ...