freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于mfc的opengl繪圖(編輯修改稿)

2025-09-06 14:41 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 60。if(thisSetWindowPixelFormat(hDC)==FALSE){return0。}if(thisCreateViewGLContext(hDC)==FALSE){return0。}return0。}    添加WM_DESTROY的消息處理函數(shù)Ondestroy( ),使之如下所示: voidCOpenGLDemoView::OnDestroy(){CView::OnDestroy()。//TODO:Addyourmessagehandlercodehereif(wglGetCurrentContext()!=NULL){wglMakeCurrent(NULL,NULL)。}if(thism_hGLContext!=NULL){wglDeleteContext(thism_hGLContext)。thism_hGLContext=NULL。}}    最后,編輯COpenGLDemoView的構(gòu)造函數(shù),使之如下所示: COpenGLDemoView::COpenGLDemoView(){//TODO:addconstructioncodeherethism_GLPixelIndex=0。thism_hGLContext=NULL。} 至此,我們已經(jīng)構(gòu)造好了框架,使程序可以利用OpenGL進(jìn)行畫(huà)圖了。你可能已經(jīng)注意到了,我們?cè)诔绦蜷_(kāi)頭產(chǎn)生了一個(gè)RC,自始自終都使用它。這與大多數(shù)GDI程序不同。在GDI程序中,DC在需要時(shí)才產(chǎn)生,并且是畫(huà)完立刻釋放掉。實(shí)際上,RC也可以這樣做;但要記住,產(chǎn)生一個(gè)RC需要很多處理器時(shí) 間。因此,要想獲得高性能流暢的圖像和圖形,最好只產(chǎn)生RC一次,并始終用它,直到程序結(jié)束。    CreateViewGLContex產(chǎn)生RC并使之成為當(dāng)前RC。WglCreateContext返回一個(gè)RC的句柄。在你調(diào)用 CreateViewGLContex之前,你必須用SetWindowPixelFormat(hDC)將與設(shè)備相關(guān)的像素格式設(shè)置好。 wglMakeCurrent將RC設(shè)置成當(dāng)前RC。傳入此函數(shù)的DC不一定就是你產(chǎn)生RC的那個(gè)DC,但二者的設(shè)備句柄(Device Context)和像素格式必須一致。假如你在調(diào)用wglMakeforCurrent之前已經(jīng)有另外一個(gè)RC存在,wglMakeforCurrent 就會(huì)把舊的RC沖掉,并將新RC設(shè)置為當(dāng)前RC。另外你可以用wglMakeCurrent(NULL, NULL)來(lái)消除當(dāng)前RC。    我們要在OnDestroy中把繪制環(huán)境刪除掉。但在刪除RC之前,必須確定它不是當(dāng)前句柄。我們是通過(guò)wglGetCurrentContext來(lái)了 解是否存在一個(gè)當(dāng)前繪制環(huán)境的。假如存在,那么用wglMakeCurrent(NULL, NULL)來(lái)把它去掉。然后就可以通過(guò)wglDeleteContext來(lái)刪除RC了。這時(shí)允許視類(lèi)刪除DC才是安全的。注:一般來(lái)說(shuō),使用的都是單線(xiàn) 程的程序,產(chǎn)生的RC就是線(xiàn)程當(dāng)前的RC,不需要關(guān)注上述這一點(diǎn)。但如果使用的是多線(xiàn)程的程序,那我們就特別需要注意這一點(diǎn)了,否則會(huì)出現(xiàn)意想不到的后 果。   三、畫(huà)圖實(shí)例   下面給出一個(gè)簡(jiǎn)單的二維圖形的例子(這個(gè)例子都是以上述框架為基礎(chǔ)的)。   用Classwizard為COpenGLDemoView添加WMSIZE的消息處理函數(shù)OnSize,代碼如下:voidCOpenGLDemoView::OnSize(UINTnType,intcx,intcy){CView::OnSize(nType,cx,cy)。//TODO:AddyourmessagehandlercodehereGLsizeiwidth,height。GLdoubleaspect。width=cx。height=cy。if(cy==0){aspect=(GLdouble)width。}else{aspect=(GLdouble)width/(GLdouble)height。}glViewport(0,0,width,height)。glMatrixMode(GL_PR
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1