亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Delphi > 正文

用Delphi進行OpenGL編程學習心得

2019-11-18 18:57:20
字體:
來源:轉載
供稿:網友

---- 在開發(fā)圖形程序時,尤其是三維的圖形程序,因為感覺OpenGL沒有DirectX那么龐雜,所以選擇了DelphiOpenGL,憑感覺而言,Delphi也沒有C++那么繁雜而且更加人性化,于是選擇Delphi+OpenGL進行工作。在這過程中,碰到(肯定會)一些問題,在此提出希望和朋友們能夠進行交流。

---- 首先是初始化。初始化時,有幾項工作需要進行:①創(chuàng)建設備描述表(Device Context)。(注:關于DC,各種資料譯文不盡相同如設備環(huán)境、設備描述表、設備上下文等,但好象都不太貼切。要是能有李善蘭這樣的翻譯就好了。下文中的RC情形相同)②設置相應的象素格式(PIXELFORMAT DESCRipTOR)。③創(chuàng)建著色描述表(Rendering Context)。 Delphi中有好幾種獲得或創(chuàng)建設備描述表的方法。最簡單的就是直接獲得畫布對象(TCanvas)的句柄屬性(Handle),如:

DC:HDC;DC:=Canvas.Handle;也可以用API函數GetDC獲得設備描述表。如:DC:=GetDC(Handle,DC);

 

---- 也可以用函數CreateCompatibleDC或者BeginPaint..EndPaint(需要注意它們之間的區(qū)別)等來獲得設備描述表。但是設備描述表用完之后要記得釋放或刪除它,以解放資源的占用。擁有設備描述表的使用權后,就可以設置相應的象素格式。象素格式是個記錄類型,其中有些字段或域是沒什么用處的(至少現在是)。象素格式描述完成后,調用ChoosePixelFormat和SetPixelFormat函數將之與設備描述表進行匹配和設置。如下面代碼:

function SetupPixelFormat(var dc:HDC):Boolean;var  ppfd:PPIXELFORMATDESCRIPTOR;  npixelformat:Integer;begin    New(ppfd);    ppfd^.nSize:=sizeof(PIXELFORMATDESCRIPTOR);    ppfd^.nVersion:=1;ppfd^.dwFlags:=PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or                        PFD_DOUBLEBUFFER;    ppfd^.dwLayerMask:=PFD_MAIN_PLANE;    ppfd^.iPixelType:=PFD_TYPE_COLORINDEX;    ppfd^.cColorBits:=8;    ppfd^.cDepthBits:=16;    ppfd^.cAccumBits:=0;    ppfd^.cStencilBits:=0;    npixelformat:=ChoosePixelFormat(dc, ppfd);    if (nPixelformat=0) then      begin        MessageBox(NULL, 'choosePixelFormat failed',        'Error', MB_OK);        Result:=False;        Exit;      end;    if (SetPixelFormat(dc, npixelformat, ppfd)= FALSE) then      begin        MessageBox(NULL, 'SetPixelFormat failed',      'Error', MB_OK);        Result:=False;        Exit;      end;    Result:=True;    Dispose(ppfd);end;也可以向下面這樣進行設置如:var pfd: PixelFormatDescriptor;    nPixelFormat  : Integer;begin  FillChar(pfd,SizeOf(pfd),0);  with pfd do  begin    nSize:=sizeof(pfd);    nVersion:=1;dwFlags:=PFD_SUPPORT_OPENGL  or PFD_DRAW_TO_BITMAP                     or PFD_DOUBLEBUFFER;    iPixelType:=PFD_TYPE_RGBA;    cColorBits:=32;    cDepthBits:=32;    iLayerType:=Byte(PFD_MAIN_PLANE);  end;  nPixelFormat:=ChoosePixelFormat(DC,@pfd);  SetPixelFormat(DC,nPixelFormat,@pfd); { // 使用DescribePixelFormat檢查象素格式是否設置正確  DescribePixelFormat(DC,nPixelFormat,SizeOf(pfd),@pfd); if (pfd.dwFlags and PFD_NEED_PALETTE)  < > 0 then SetupPalette(DC,pfd);//SetupPalette是自定義函數}end;

 

---- 上述工作完成以后,最好先運行一遍,并檢查nPixelFormat的值。正常的話,該值應該是大于0的,否則就有問題。同樣的代碼,我在NT機器上能夠得到正確的大于0的值而在PWIN97或98的機器上得不到正確值,但是編譯時不會有問題,而且NT上編譯后在PWIN97機器上也能夠正確運行?,F在可以創(chuàng)建著色描述表(RC)了。調用函數wglCreateContext、wglMakeCurrent,如下例示:

RC:HGLRC;RC:=wglCreateContext(DC);wglMakeCurrent(DC,RC);在程序結束之前,要記得釋放所占用的資源。 wglMakeCurrent(0,0);  if RC< >null then    wglDeleteContext(RC);  if ghDC< >null then    ReleaseDC(Handle,DC);

 

---- 以下的代碼是從C++Builder 4中OpenGL的例子改寫過來的。編譯后的程序大小為300K左右,而在C++Builder 4下編譯后程序的大小為384K。

---- < a href="061403-05.zip ">程序代碼 Zip 3KB

---- 程序中的OpenGL函數及象素格式在Delphi中的MSHelp中有比較詳細的解釋,本文不敢多做解釋。


上一篇:Borland與Microsoft關于Delphi的對話

下一篇:用DELPHI為ASP開發(fā)文件上載組件

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

国产男女无套在线播放| 国产95在线|亚洲| 国产自产一区二区| 狠狠色噜噜狠狠色综合久| 亚洲精品在线二区| 精品欧美久久| 国产精品无码免费专区午夜| 免费电影网站在线视频观看福利| 国产a√精品区二区三区四区| 亚洲成av人片在线观看无码| 精品人妻一区二区三区蜜桃视频| 午夜肉伦伦影院| 日韩伦理三区| 欧美在线亚洲综合一区| 日韩一区二区三区不卡视频| 欧美色视频在线观看| 国产精品国产三级国产专区52| 久久伊人色综合| 欧美洲成人男女午夜视频| 十大免费污污软件| 精品成人影院| 欧美另类一区二区| 国产无套内射又大又猛又粗又爽| 在线看黄色的网站| 九九热精品在线播放| 人人妻人人澡人人爽欧美一区双| 精品久久久久久中文字幕2017| 欧美成人影院| 亚洲v日韩v综合v精品v| 日韩欧美国产成人一区二区| 欧美日韩美女一区二区| 亚洲动漫第一页| 古典武侠综合av第一页| 日韩欧美在线观看强乱免费| 最新亚洲国产| 视频一区视频二区欧美| 亚洲国产精品一区二区久| 国产精品久久久久久久久电影网| 精品久久91| 影音先锋欧美精品| 福利成人在线观看| 中文字幕一区不卡| 国产免费人人看| 天天夜夜亚洲| 日韩高清人体午夜| 日本一二区视频| 福利在线播放| 国产精品伦一区二区三级视频| 97久久精品人人澡人人爽缅北| 黄色成年人视频在线观看| 欧美精选在线播放| 91精品久久久久久粉嫩| 99九九精品视频| 欧洲视频在线免费观看| 免费高清完整在线观看| 亚洲欧美区自拍先锋| 福利一区视频| 天天操天天爱天天爽| 一区二区在线观看视频在线观看| 91精品国自产在线偷拍蜜桃| 国产精品国产三级国产普通话蜜臀| 老太做爰xxxx| 久久综合中文| 国产精品第三页| 日韩激情电影| 精品视频麻豆入口| 9.1在线观看免费| 欧美成人69av| 久久久久国产一区二区| 国产精品免费观看| **精品中文字幕一区二区三区| 亚洲第五色综合网| 久久综合五月| 国产传媒一区二区| 水蜜桃在线免费观看| 亚洲制服一区| 亚洲欧美成人一区二区在线电影| 无需播放器亚洲| 日韩av中文字幕一区二区| 欧美aaaaa成人免费观看视频| 国产成人精品视| 欧美午夜精品一区二区三区| 人人澡人一摸人人添| 26uuu成人| 成人中文视频| 91精品国产色综合久久不卡98| 在线观看完整版免费| 日韩成人在线观看视频| 亚洲熟妇无码另类久久久| 亚洲男人第一网站| 国产91亚洲精品| 成人影片在线播放| 五月天婷亚洲天综合网精品偷| 久久亚洲一区二区三区四区五区高| 亚洲mmav| 欧美va日韩va| 高清欧美一区二区三区| 欧美成人免费网| 最色在线观看| 精品亚洲一区二区三区| 91色在线porny| 91九蝌蚪视频| 欧美日韩喷水| 国产精品久久久久aaaa| 18video性欧美19sex高清| 欧美在线观看一区二区三区| 欧美日韩国产一二三区| 福利一区二区三区四区| 日本一区午夜艳熟免费| 国产无遮挡又黄又爽免费软件| 国产精品嫩草69影院| 美女av一区二区| 亚洲欧美日韩成人高清在线一区| 日日噜噜噜夜夜爽爽| 日韩在线中文字幕| 日本高清中文字幕在线| 欧美日韩一区二区免费视频| 免费成人av资源网| 国产高清精品一区二区三区| 黄色小视频免费观看| 九色porny自拍视频在线观看| 成人免费观看在线| 日本少妇激三级做爰在线| 欧美不卡1区2区3区| 国产日韩在线观看av| 精品高清视频| 青青草久久爱| 99热com| 福利一区二区在线| 美女91在线看| 午夜在线视频免费观看| 四虎成人在线视频| 91福利国产成人精品照片| 在线观看欧美黄色| 欧美亚洲一区在线| 亚洲欧美在线观看| 成年人看片网站| 视频91a欧美| 免费看污片的软件| 午夜视频国产| 精品国产伦一区二区三区观看说明| 色偷偷综合网| 中文字幕在线字幕中文| 青青青免费视频观看在线| 色婷婷综合久久久久中文一区二区| 成人精品美女隐私视频| 久久久久无码国产精品| 日韩精品成人在线观看| 性欧美videossex精品| 国产九九精品视频| 成人自拍av| 国产精品国产成人国产三级| 国产嫩草在线视频| 国产精品一国产精品最新章节| 亚洲福利在线看| 98国产高清一区| 欧美一区二区三区四| 一区二区在线播放视频| 精品无人乱码一区二区三区的优势| 国产寡妇色xxⅹ交肉视频| aaaaa级少妇高潮大片免费看| 91国产中文字幕| 欧美 国产 小说 另类| 成年人免费视频播放| 自拍视频在线| 中国美女黄色一级片| 久久综合伊人| 天堂av一区二区| 国偷自产一区二区免费视频| 狠狠精品干练久久久无码中文字幕| 国产精品久久不卡| 中文字幕激情视频| 小早川怜子一区二区三区| 一区二区免费在线视频| 久久久久久久久久久网站| 欧美大片拔萝卜| 国产又色又爽又黄的| 少妇精品无码一区二区| 欧美日韩电影在线观看| 在线一区二区三区四区五区| 竹内纱里奈兽皇系列在线观看| 波多野结衣免费观看| 制服.丝袜.亚洲.中文.综合懂| 国产精品美女久久久久高潮| ww久久综合久中文字幕| 成人av网站免费观看| 免费a级毛片在线播放| 成人激情av| 狠狠色丁香久久婷婷综| 色婷婷精品久久二区二区蜜臂av| 国产美女喷水视频| 国产黄色免费大片| av资源种子在线观看| 日日摸日日搞日日| 国产福利久久| 久久99精品久久久久婷婷| 亚洲xxxxx性| 亚洲国产第一区| 色999韩欧美国产综合俺来也| 中国特黄一级片| 91九色蝌蚪| cao在线视频| 国产精品一国产精品k频道56| 中文在线аv在线| 国产视频三级在线观看播放| 欧美日溪乱毛片| 2020国产精品视频| 女海盗2成人h版中文字幕| 亚洲日本japanese丝袜| 成人黄色激情视频| 国产精品88久久久久久妇女| 国产亚洲自拍一区| 久久精品久久久精品美女| 99久久夜色精品国产亚洲1000部| 久久精品中文字幕免费mv| 欧美一区二区福利视频| 日韩欧美激情一区二区| 51精品在线观看| 国产一级二级视频| 国产成人精品亚洲日本在线桃色| 91精品免费视频| 天天干人人干| 人妻久久一区二区| 极品美女一区| 日本人dh亚洲人ⅹxx| 一区视频在线看| 国产一区二区精彩视频| 精品一区二区三区中文字幕| 熟妇人妻va精品中文字幕| 麻豆传媒一区二区三区| 久久97久久97精品免视看| h网在线观看| 天天综合国产| 蜜桃a∨噜噜一区二区三区| 日韩精品视频免费在线观看| 国产在线观看a视频| 在线视频一区二区三区在线播放| 黄色一级大片在线免费看国产一| 欧美夫妻性视频| 欧美主播福利视频| 人人做人人爽| 成人爱爱电影网址| 欧美乱妇18p| 青春草在线视频免费观看| 红桃av在线播放| 超碰超碰超碰超碰超碰| 在线观看免费p片视频网站地址| 伊人久久久久久久久久久| 欧美日韩免费区域视频在线观看| 69xxxx视频| 少妇精品一区二区三区| 欧美另类极品videosbest视频| 在线观看视频日韩| 精品人妻一区二区三区香蕉| 免费在线观看a| 色综合一区二区日本韩国亚洲| 天天综合五月天| 一区二区三区成人精品| 欧美日本中文| 伊人资源视频在线| 亚洲色图偷窥| 国产精品一区二| 成人av先锋影音| 激情久久久久久| 久久九九有精品国产23| 欧美天堂一区二区| 蜜桃av麻豆av天美av免费| 伊人222成人综合网| 国产网站在线免费观看| 尤物九九久久国产精品的特点| 日韩精品美女| 九色精品视频在线观看| 精品少妇theporn| 国精产品一区一区三区mba桃花| wwwxxxx在线观看| 日韩欧美国产另类| 国产精品一色哟哟| 久热这里只精品99re8久| 精品无码一区二区三区的天堂| 欧美人牲a欧美精品| 8mav模特福利视频在线观看| 中国日韩欧美久久久久久久久| 在线综合视频播放| 亚洲欧美中文日韩在线v日本| 精品国产一区二区三区久久狼黑人| 91青青草免费在线看| 色是在线视频| 国产精品天干天干在观线| 黄色网址在线免费观看| 国产 日韩 欧美 精品| 亚洲一区在线视频观看| 亚洲一区二区三区四区在线免费观看| 亚洲黄色av网站| 欧美 日韩 国产 一区| 娇妻被老王脔到高潮失禁视频| 美女喷白浆视频| 男人舔女人下部高潮全视频| 99高清视频有精品视频| 亚洲最快最全在线视频| xxxxx欧美| 国内精品模特av私拍在线观看| 韩国三级hd中文字幕| 中国一级特黄录像播放| 国产一区二区视频在线看| 日韩三级电影视频| 美女在线视频免费| 精品麻豆视频| 欧美色精品天天在线观看视频| 欧美黑人欧美精品刺激| 精品久久av| 国产精品18久久久久| 性久久久久久久久久| 日本午夜精品久久久久| 久久久伊人欧美| 成人性生活视频| jizz在线免费播放| 国产亚洲欧美日韩一区二区| 亚洲第一在线综合在线| 国产欧美在线观看| wwwxxx黄色片| 乱妇乱女熟妇熟女网站| 日韩久久一级片| 超碰中文字幕在线观看| 国产伦精品一区二区三毛| 亚洲精品久久一区二区三区777| 国产精品wwwwww| 福利一区二区| 免费观看在线黄色网|