本文參考了 megabyte 的opengl教程
hglrc m_hglcontext; //opengl的rc控制代碼
bool bglewinitialized; //初始化glew的判斷標誌
bool initglew(hdc); //首先初始化glew
bool createviewglcontext(hdc); //建立gl的rc
在cpp檔案中,為函式新增**,首先是glew的初始化函式。需要注意的是,glew的初始化需要有已經建立的rc,所以我們先設定相關畫素格式建立rc,初始化glew後再銷毀掉。如果沒有銷毀的話,此時已經建立起rc可以使用opengl1.1了,我們需要使用更高版本的gl特性,則需要銷毀掉,重新建立。
bool glwnd::initglew(hdc hdc)
bglewinitialized = true;
} wglmakecurrent(null, null);
wgldeletecontext(hrcfake);
return bresult;
}
接著,我們為createviewglcontext(hdc)建立**
bool glwnd::createviewglcontext(hdc hdc)
else if(wglew_arb_create_context && wglew_arb_pixel_format)
; int icontextattribs =
; int ipixelformat, inumformats;
wglchoosepixelformatarb(hdc, ipixelformatattriblist, null, 1, &ipixelformat, (uint*)&inumformats);
// pfd seems to be only redundant parameter now
if(!setpixelformat(hdc, ipixelformat, &pfd))return false;
m_hglcontext = wglcreatecontextattribsarb(hdc, 0, icontextattribs);
// if everything went ok
if(m_hglcontext)
else berror = true;
} else berror = true;
if(berror)
return true;
}
這樣就可以建立opengl的環境了,在視窗的oncreate()函式中,使用如下**:
cclientdc dc(this);
createviewglcontext(dc.mhdc);
mfc中使用OpenGL的方法
以前使用win32,但是mfc還是方便些 新建乙個類,用來封裝 opengl 相關的資訊,一般可直接使用該模式 class copengl copengl copengl void copengl copengl void bool copengl setuppixelformat hdc hdc0...
在wxPython中使用OpenGL
參考資料只有wxpython doc的乙個例子。需要安裝pyopengl pyopengl.sourceforge.net 給opengl使用的視窗容器是wx.glcanvas.glcanvas,子類化它,並在子類的paint事件處理中這樣處理 def onpaint self,event dc w...
在wxPython中使用OpenGL
參考資料只有wxpython doc的乙個例子。需要安裝pyopengl pyopengl.sourceforge.net 給opengl使用的視窗容器是wx.glcanvas.glcanvas,子類化它,並在子類的paint事件處理中這樣處理 def onpaint self,event dc w...