Tìm hiểu thư viện đồ họa opengl

171 288 0
Tìm hiểu thư viện đồ họa opengl

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tìm hiểu thư viện đồ họa opengl Tìm hiểu thư viện đồ họa opengl Tìm hiểu thư viện đồ họa opengl Tìm hiểu thư viện đồ họa opengl Tìm hiểu thư viện đồ họa opengl Tìm hiểu thư viện đồ họa opengl Tìm hiểu thư viện đồ họa opengl Tìm hiểu thư viện đồ họa opengl Tìm hiểu thư viện đồ họa opengl Tìm hiểu thư viện đồ họa opengl Tìm hiểu thư viện đồ họa opengl

KILOBOOKS.COM MC LC Li m đu PHN 1: TÌM HIU TH VIN  HA OPENGL 1 Chng 1: S lc v OPENGL 1 1.1. Lch s phát trin 1 1.2. Khái nim 1 1.3. Thành phn 5 Chng 2:  ha hai chiu GDI 6 2.1. Ta đ đ các và ta đ màn hình 6 2.2. nh ngha vertex và kiu d liu hình dng 8 2.3. Các phép bin hình 10 2.4. S dng ma trn cho các phép bin hình 17 Chng 3:  ha ba chiu GDI 25 3.1. H ta đ ba chiu 25 3.2. nh ngha đi tng ba chiu 25 3.3. Các phng pháp th hin hình 3-D lên màn hình 28 3.4. Bin hình đi tng 3-D 31 Chng 4: Chng trình OpenGL ti thiu 36 4.1. Các kiu d liu OpenGL 36 4.2. Ng cnh biu din 36 4.3. nh dng đim v 38 4.4. To ng cnh bin din 44 4.5. Tng kt: 48 Chng 5: V hình và s dng màu: 48 5.1. Cú pháp lnh OpenGL 48 5.2. Các trng thái OpenGL 49 5.3. Xét mt chng trình OpenGL ti thiu 50 5.4. nh ngha và v đim 53 http://kilobooks.com THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN KILOBOOKS.COM 5.5. nh ngha và v đng 56 5.6. nh ngha và v đa giác 61 5.7. Tng kt 74 Chng 6: Các phép binhình OpenGL 75 6.1. Xây dng đi tng 3-D t các đa giác 75 6.2. Phép chiu 77 6.3. Phép bin hình đi tng 79 6.4. Phép bin đi viewport 85 6.5. Tng kt 88 Chng 7: Chiu sáng đi tng 3-D 89 7.1. Các loi ngun sáng 89 7.2. nh ngha mt ngun sáng 90 7.3. nh ngha tích cht vt liu 92 7.4. nh ngha các pháp tuyn 95 7.5. Xác đnh kiu bóng và kích hot vic kim tra chiu sâu 97 7.6. nh ngha đèn chiu 98 7.7. Th hin đi tng 3-D đc chiu sáng 99 7.8. Bng màu logic 103 7.9. Tng kt 107 Chng 8: To cnh 3-D 108 8.1. S dng các phép bin hình OpenGL đ to cnh 3-D 108 8.2. S dng các stack ma trn 113 8.3. To o giác chuyn đng vi OpenGL 117 8.4. Tng kt 119 Chng 9: Anh và gán cu trúc 119 9.1. Bitmap và nh OpenGL 120 9.2. Bitmap ph thuc thit b và bitmap đc lp vi thit b 125 9.3. nh dng DIB 125 9.4. Gii thiu lp Cdib 129 9.5. Gán cu trúc cho đa giác 139 http://kilobooks.com THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN KILOBOOKS.COM 9.6. Tng kt 147 Chng 10: Pha trn , gim hiu ng rng ca, và sng mù 148 10.1. Pha trn 148 10.2. Gim hiu ng rng ca 154 10.3. Sng mù 157 Chng 11: Display List 160 11.1. nh ngha: 160 11.2. Ti sao phi dùng display list 160 11.3. Các tính cht ca display list. 162 11.4. Các trng hp có th s dng display list. 162 11.5. Nhc đim ca display list. 162 11.6. To và thc thi mt display list. 163 11.7. Qun lý bin trng thái trong display list 164 Chng 12: Quadric. 164 PHN 2: MÔ PHNG CÁC GII THUT  HA 3 D VI OPENGL: 166 Chng 1: Tng quan: 166 1.1. Mt s khái nim liên quan: 166 1.2. Các phép biên đi: 167 Chng 2: Xây dng ng dng mô phng thut gii: 169 2.1. Xây dng ng dngOpenGL 169 2.2. Cách làm vic ca ng dng 172 2.3. Bng kê chng trình: 179 Li M u  http://kilobooks.com THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN KILOBOOKS.COM Cú cõu rng mt hỡnh nh bng c nghỡn li núi . iu ú tht khụng th ph nhn. V rừ rng l nu hin th thụng tin ch vi cỏc ký hiu, ch cỏi, ch s khụng thụi thỡ khụng th hp dn v d hiu nh khi cú thờm biu din ha K thut ho cng l cụng c khụng th thiu trong cỏc ngnh khoa hc k thut, giỏo dc, ngh thut, gii trớ, qung cỏo( din t mỏy múc thit b, kin trỳc, cu trỳc c th, thụng tin thiờn vn a lý, hỡnh nh minh ho ). Chớnh vỡ vy, ha l mt vn c quan tõm trong ngnh cụng ngh thụng tin. Cựng vi s phỏt trin ca tin hc, k thut ha trờn mỏy vi tớnh, ngy cng tr nờn tinh xo. Giao din cỏc phn mm ngy nay tr nờn thõn thin, p mt nh cỏc th hin ha. S h tr ca tin hc cho cỏc ngnh khỏc tr nờn c lc hn nh kh nng ha vi tớnh. V th gii thc thỡ c biu din mt cỏch sinh ng, linh hot, y mu sc bng khụng gian ba chiu. Trong thnh cụng ca k thut ha ngy nay khụng th khụng núi n s phỏt trin vt bc ca tc phn cng ln h iu hnh. Nhng bn thõn k thut ha thỡ cú bc tin nhy vt t nhng phộp tớnh toỏn hc phc tp n nhng th vin ha c to sn. Cỏc th vin ny cho phộp gim nh thi gian v cụng sc ca ngi lp trỡnh; Bi vi chỳng, cú c mt tỏc phm ha khụng ũi hi phi cú mt kin thc hựng hu v ng cong Bezier, B-spline, v hỡnh hc, to búng, m ch ng dng cỏc hm to sn. Mt trong nhng th vin ú l OpenGL, c xem l tiờu chun thit k cụng nghip cho ha ba chiu. Mc tiờu ca lun vn ny l tỡm hiu th vin ha ca OpenGL trong ha ba chiu, ng thi cng c gng a ra mt ng dng ca OpenGL trong vic minh ha cỏc gii thut ha ba chiu. Tuy nhiờn, ti khụng th khụng trỏnh khi nhng hn ch v thiu sút, nờn rt mong c s ch bo, gúp ý ca quý Thy Cụ v bn bố. PHN 1: TèM HIU TH VIN HA OPENGL Chng1:S Lc v OPENGL 1.1.Lch S Phỏt Trin : Nguyờn thy, GL do Silicon Graphics Incorporated (SGI) thit k dựng cho cỏc trm lm vic (workstation) ha IRIS ca h. IRIS GL vi cỏc cu hỡnh phn cng khỏc thỡ cú vn phỏt sinh. OpenGL l kt qu n lc ca SGI nhm ci thin tớnh tng thớch ca IRIS GL. Ngụn ng mi ny cú kh nng ca GL, ng thi m ngha l d dng tng thớch vi cỏc lai cu hỡnh phn cng, cng nh cỏc h iu hnh khỏc nhau. Version1.0 ca OPENGL c gii thiu vo ngy 01/7/1992. bo m tớnh m , mi s nõng cp OpenGL phi thụng qua Uy Ban Xem Xột Kin Trỳc OpenGL(OpenGL Architecture Review Board AEB) gm cỏc thnh viờn sỏng lp l SGI, Digittal Equipment Corporation, IBM ,Intel v Microsoft.ARB hp mi nm hai ln. http://kilobooks.com THệ VIEN ẹIEN Tệ TRệẽC TUYEN KILOBOOKS.COM (Các cơng ty khác cng có th tham gia tho tun nhng khơng có quyn b phiu ). Open GL version1.1 đc ARB thơng qua vào tháng 12/1995. 1.2. Khái Nim : OpenGL đc đnh ngha là “giao din phn mm cho phn cng đ ha ”. Thc cht, OpenGL là mt th vin các hàm đ ha, đc xem là tiêu chun thit k cơng nghip cho đ ha ba chiu. Vi giao din lp trình mnh m, OpenGL cho phép to các ng dng 3-D phc tp vi đ tinh vi, chính xác cao, mà ngi thit k khơng phi đánh vt vi các núi cơng thc tốn hc và các mã ngun phc tp. Và do OpenGL là tiêu chun cơng nghip, các ng dng to t nó dùng đc trên các phn cng và h điu hành khác nhau. Các mc sau s gii thiu cách nhìn tng qt v cách làm vic ca OpenGL: - Các phn t đ ha c bn và lnh gii thiu v các phn t đ ha c bn (primitive) và s thc hin lnh - Cách làm vic ca OpenGL cho bit các lai thao tác đ ha mà OpenGL kim sốt - Mơ hình hot đng nói v mơ hình client/server cho vic thơng dch lnh OpenGL - Thao tác OpenGL c bn đa ra mt mơ t mc cao v cách OpenGL x lý d liu và to ra hình nh tng ng lên b đim khung. Các phn t đ ha c bn và lnh: Primitive đc xác đnh bi nhóm ca mt hay nhiu vertex là đim trong khơng gian. Mi vertex xác đnh mt đim, mt đu đon thng hay mt đnh đa giác. D liu (bao gm ta đ vertex, màu sc, normal, texture và c xác đnh loi cnh) kt hi vi vertex. Khi x lý primitive, mi cp vertex và d liu liên kt vi nó đc s lý đc lp vi các cp khác, theo th t và cùng mt phng pháp. Ngoi l duy nht là trong trng hp kh phn khut ca primirite(clipping). Khi đó, d liu vertex đc sa và các vertex khác đc to ra. Loi clipping tu thuc loi primirite mà nhóm vertex biu din. Các lnh ln ln đc x lý theo th t mà nó tip nhn, mt dù có s trì hỗn khơng xác đnh trc khi lnh có hiu lc. Ngha là mi primirite đc v trn vn trc khi lnh tip theo có hiu lc. Cách làm vic ca OpenGL: OpenGL là ngơn ng đ ha theo th tc ch khơng phi ngơn ng mơ t.Thay vì t các cnh và cách chúng xut hin, OpenGL đa ra các bc cn thit đ có đc s th hin hay hiu qu nht đnh. Các “bc”này là các li gi đn giao din lp trình ng dng gm xp x 120 lnh và hàm. Chúng đc dùng đ v các phn t đ ha c bn nh đim, đng và đa giác trong khơng gian ba chiu. Ngồi ra, OpenGL còn h tr chiu sáng, tơ bóng, gán cu trúc, to o giác chuyn đng và các hiu qu đc bit khác. OpenGL khơng có các chc nng qun lý ca s, tng tác vi ngi dùng hay xut nhp file. Mơi trng ch (tc h điu hành) có các chc nng này và chu trách nhim thc hin các bin pháp qun lý cho OpenGL. Mơ hình hot đng: Mơ hình thơng dch lnh OpenGL là client-server. Mã ng dng(vai trò client) đa ra các lnh. Lnh đc thơng dch và s lý bi OpenGL (vai trò server). Server và client có th là trên cùng mt máy tính khác nhau. Theo ngha này, OpenGL là network-transparent http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN KILOBOOKS.COM (tm dch là mng trong sut). Server duy trì nhiu ng cnh OpenGL, mi ng cnh là mt trng thái OpenGL. Client có th nói vi bt c ng cnh nào. Giao thc mng đc s dng có th là đc lp hóa da trên giao thc mng hin có (tc OpenGL dùng trên máy đc lp hay trên mơi trng mng). Khơng có lnh OpenGL nào tip nhn vic nhp d liu trc tip t ngi dùng. Cui cùng, h thng ca s kim sốt tác dng ca các lnh OpenGL trên b đm khung qua các thao tác: - Quyt đnh các phn ca b đm khung mà OpenGL có th truy xut ti thi đim cho phép. - Truyn đt cho OpenGL thơng tin v cu trúc các phn đó. - Nh vy, khơng có lnh OpenGL nào đnh dng b đm khung hay khi to OpenGL. S đnh dng b đm khung đc thc hin bên ngồi OpenGL trong s liên kt vi h thng ca s. S khi to OpenGL đc tin hành khi h thng cp phát ca s cho vic biu din. Hình 1.1 Mơ hình hot đng c bn ca OpenGL Lnh OpenGL Phía Client Phía Server Thao tác OpenGL c bn: S đ khi 1.2 tóm tt cách OpenGL x lý d liu. Các lnh đi vào phía trái s đ và qua “đng ng x lý”. Mt s lnh xác đnh đi tng hình hc đc v, và s khác kim sốt cách qun lý đi tng qua các giai đon s lý khác nhau. OpenGL DLL Server DLL Video Driver Win DLL http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN KILOBOOKS.COM Hỡnh 1.2 S x lý d liu ca OpenGL: Lnh Cỏc giai on s lý khỏc nhau: Danh sỏch hin th thay vỡ x lý lp tc ton b cỏc lnh, mt s lnh c gom li trong mt danh sỏch x lý sau. B c lng: c lng l quỏ trỡnh OpenGL sinh ra cỏc vertex v thụng s t cỏc phng trỡnh Bộzier xỏc nh trc, cung cp mt phng cỏch hiu qu xp x hỡnh hc cỏc b mt v ng cong bng cỏch ỏnh giỏ cỏc lnh a thc ca giỏ tr a vo. Cỏc thao tỏc trờn vertex v s t hp ca primirite: OpenGL x lý cỏc primirite hỡnh hc (im, on thng v a giỏc). Nhng primirite ny c biu din bi cỏc vertex. Cỏc vertex c bin i, chiu sỏng, v cỏc primirite c kh cỏc cỏc phn khut theo viewport chun b rasterze. Raterization: giai on resterize to ra mt chui cỏc a ch b m khung v cỏc giỏ tr liờn kt s dng hỡnh dng hai chiu ca im, on thng hay a giỏc. Cỏc fragment to ra c cung cp cho quỏ trỡnh tip theo. Cỏc thao tỏc trờn fragment: l cỏc thao tỏc cui cựng trờn d liu, trc khi lu tr d liu di dng cỏc pixel trong b m khung. Cỏc thao tỏc ny bao gm vic cp nht (cú iu kin) b m khung da trờn giỏ tr lu tr v giỏ tr va cú, vic pha trn cỏc mu va cú v mu lu tr, cng nh thao tỏc mask v cỏc thao tỏc logic khỏc trờn cỏc giỏ tr pixel. D liu cú th c a vo di dng cac pixel. Khi ú, sau giai on thao pixel, d liu pixel. Hoc c lu tr nh l b nh texture, dựng cho giai on rasterizatrion. Hay rasterize, vi kt qu cỏc fragment c kt hp vo trong b m khung, nu chỳng phỏt sinh t d liu hỡnh hc. 1.3. Thnh Phn: OpenGL gm 5 b hm : Danh sỏch B c lng Thao tỏc trờn vertex v primitive Rasteri - zation Thao tỏc trờn fragme B m khung B nh texture Cỏc thao tỏc pixel http://kilobooks.com THệ VIEN ẹIEN Tệ TRệẽC TUYEN KILOBOOKS.COM B ht nhõn cú 115 hm c bn. Tờn cỏc hm ny bt u bng GL. Windows NT h tr 4 chng loi hm khỏc, bao gm th vin OpenGL utility(tờn hm bt u bng GLU), th vin OpenGL auxiliary(tờn hm bt u bng AUX), b hmWGL (tờn hm bt u bng WGL), v cỏc hm WIN32 API (tờn hm khụng cú tin t c bit). B hm ht nhõn cho phộp thit k cỏc hỡnh dng khỏc nhau, to cỏc hiu qu chiu sỏng, kt hp antialiasing v gỏn cu trỳc, thc hin bin i ma trn Do cỏc hm c bn c th hin nhiu dng khỏc nhau tựy thuc vo loi d liu m chỳng tip nhn, nờn trờn thc t cú hn 300 nguyờn mu (prototype) cỏc hm c bn. Th vin OpenGL utility gm cỏc hm cao cp. Cỏc hm ny n gin hoỏ vic s dng hỡnh nh cu trỳc, thc hin vic bin i ta mc cao, h tr tesselation a giỏc, v biu din cỏc i tng cú c s a giỏc nh hỡnh cu, hỡnh tr hỡnh da. Th vin OpenGl auxiliary gm cỏc hm c bit dựng n gin húa cỏc vớ d lp trỡnh trong sỏch ch dn lp trỡnh OpenGL. Cỏc hm ph thuc platform ny thc hin cỏc nhim v nh qun ký ca s, iu khin xut/nhp, v cỏc i tng 3D nht nh. Do cỏc hm ny cú mc ớch thit minh nờn khụng c dựng trong cỏc mó sn xut. Cỏc hm WGLkt ni OpenGL vi WINdows NT, cho phộp ngi lp trỡnh xõy dng v chn la cỏc ng cnh biu din, to cỏc bitmap font, cỏc hm ny ch dựng trờn Windows NT. Cui cựng, cỏc hm Win32 API c dựng gii quyt cỏc nh dng im nh v to b m ụi. Chng2: Ha Hai Chiu GDI OpenGL cung cp nhiu hm mnh m, lm n gin cỏc vic v cỏc hỡnh nh phc tp. Dự vy, hiu OpenGL, cn cú mt chỳt kin thc trong thc tin lp trỡnh ha tiờu chun. Bc u tiờn v mc tiờu ú l tỡm hiu cỏch thao tỏc hỡnh nh hai chiu GDI Cỏc phn sau s gii thiu c s lp trỡnh ho 2-D : - Ta cỏc v ta mn hỡnh - S dng cỏc Vertex nh ngha mt hỡnh dng phng - Tnh tin, co gión v quay - S dng ma trn trong bin hỡnh 2-D 2.1.Ta Cỏc V Ta Mn Hỡnh: k mt on thng trờn mn hỡnh, ta thng gi cỏc hm nh v im u, sau ú v on thng. Vớ d cỏc hm MFC c gi l: CclientDC dc(this) dc.MoveTo(x,y) dc.LineTo(x,y) Mi quan tõm õy l vic biu din cỏc ta x,y. Trong ta ca s, cng nh ta mn hỡnh, gc ta v trớ gúc trỏi trờn, chiu tng ca ta x v phớa phi, chiu tng ta y i v phớa di (hỡnh 2.1) Tuy nhiờn, i tng ha c xỏc nh bi ta cỏc Vertex ca nú trong h cỏc (hỡnh2.2). Cỏc im khỏc bit gia hai ta ny l: H cỏc xỏc nh chiu tng ta y l chiu i lờn. http://kilobooks.com THệ VIEN ẹIEN Tệ TRệẽC TUYEN KILOBOOKS.COM H đ các cho phép có ta đ âm. Và nh vy, vn đ phát sinh khi biu din mt đi tng đc đnh ngha trong h đ các. Trong ta đ màn hình, ta li nhn đc mt tam giác nh (hình 2.4), nu vi mã to hình nh sau : CCLientDC dc(this) dc.MoveTo(2,5); dc.LineTo(5,2); dc.LineTo(2,2); dc.LineTo(2,5); Do s khác bit gia màn hình th hin và ta đ đ các, cn có mt phng pháp chuyn đi gia chúng. Thut ng đ ha gi là mapping các đim trong ta đ đ các sang ta đ màn hình đ th hin đi tng đúng v trí. Hình 2.1 Ta đ màn hình Hình 2.2 Ta đ  các http://kilobooks.com THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN KILOBOOKS.COM Hỡnh 2.3 Tam giỏc trong ta cỏc Hỡnh 2.4 v tam giỏc khụng cú s chuyn i gia ta cỏc v ta mn hỡnh Nu b qua vn gớa tr õm, thỡ vic th hin im (x1,y1) trong ta cỏc sang im (x2,y2) trong ta mn hỡnh ũi hi cụng thc sau: X2=X1; Y2=maxY Y1; D nhiờn, thc hin cụng thc ny, trc ht cn bit kớch thc hin ti ca ca s, bng cỏch gi hm GetClientRect(). Hm ny in y cu trỳc RECT vi kớch thc ca s. S dng hm MFC, on mó sau v tam giỏc ó cho lờn ca s, mapping gia ta cỏc v ta mn hỡnh: Int triangle[6]={2,5,5,2,2,2,}; CCLientDC dc(this); Int newX,newY,startX,startY; RECT clientRect; GetClientRect(&clientRect); For (int x=0;x<3;++x) { newX = triangle[x*2]; newY = maxY triangle[x*2+1]; if(x = = 0) { dc. MoveTo(newX,newY); startX = newX; startY = newY; } else dc.LineTo(newX,newY); } dc.LineTO(startX,startY); } Dũng u tiờn ca on mó nh ngha mt móng chc cỏc ta cỏc tam giỏc. Tip theo, on mó tỡm ng cnh dng c ca ca s v khai bỏo cỏc bin cc b. Cỏc bin newX, newY chc cỏc ta mn hỡnh ca mt im, cũn startX, startY cha ta mn hỡnh im u tiờn ca tam giỏc. Cu trỳc RECT, clientRect, cha kớch thc ca s. Sau ú hm GetClientRect() c gi in y cu trỳc clientRect. thnh phn bottom cha chiu cao ca s. Giỏ tr ny c gỏn cho bin maxY. Vũng lp for lp i lp li mng ta tam giỏc. Trong thõn vũng lp cỏc ta (x,y) c mapping gia ta cỏc v ta mn hỡnh . im u tiờn l im bt u tam giỏc. Cỏc im tip theo c dựng v ng thng tam giỏc. Li gi LienTo() bờn ngoi vũng lp ni im cui cựng vi im u tiờn. http://kilobooks.com THệ VIEN ẹIEN Tệ TRệẽC TUYEN [...]... các thu h OpenGL c m s ng ch ình Các ki ình bày trong b B HGLRC à cách k KIL OBO OKS CO M vào m _ Các u c _ Các ki _ Cách t _ Cách thi àu s àd àc ên khơng à Windows c ành Ng ày phù h à ng ùv ình Windows khác àn b có ào h ên các ã à ng s http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN KIL OBO OKS CO M NT và Windows Còn ng M à m OpenGL ph àng m M ph N ành l l là ng ành c ,r àm OpenGL Khi k hàm OpenGL, ... m[2][1] = 0; m[2][2] = c; m[2][3] = 0; m[3][0] = 0; m[3][1] = 0; m[3][2] = 0; m[3]3[] = 1; MultMatrix(m2,m1,m); CopyMatrix(m,m2); Ch ình OpenGL T 0 0 0 1 http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN ình bày cách kh ình MFC : ình OpenGL t à cú pháp c ình MFC cho OpenGL 4.1.Các Ki d Ki Glbyte Glshort GLint,GLsizei Glfloat,GLclampf Gldouble,Glclampd Glubyte,Glboolean Glushort Gluint, GLenum, Glbitfield... shape.vertices[x].y+=(int)(shape.xerticse[x]y*yScale); } } ày, sau khi co giãn, khơng nh ình Hình 2.8 bi ãn m h ãn tr Hình 2.8: Co giãn m 2.3.3.Phép Quay: Quay m ình thì r tốn ph th à khơng tìm hi Hình2.9 bi ãn khác nhau ãn, vì ph ên àm gì àh ãn khác à http://kilobooks.com Gi KIL OBO OKS CO M THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN 0 VERTEX triangleVerts[3]= { 20,50,50,50,20,100}; SHAPE shape1 = {3,triangleVerts}; Các cơng th RotatedX = x*cos(angle) – y*sine(angle);... ph N ành l l là ng ành c ,r àm OpenGL Khi k hàm OpenGL, à xóa nó M cùng m có tác d M hành thì có m d à ng ùng khi ng ùng m M hi ành.Và m di à hi ành cho m M àm OpenGL ti c àm GDI c ì handle khi t nh bi ành ành ì ành và http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN B àm WGL qu WglMakeCurrent () 4.3 Ch T Xóa ng Tr KIL OBO OKS CO M Tên hàm WglCreateContext () WglDeleteContext () WglGetCurrentContext... (this); Int newX,newY,startX,startY; RECT clientRect; GetClientRect(&clientRect); Int maxY = clientRect.bottom; For (int x =0 ;x . cỏc h iu hnh khỏc nhau. Version1.0 ca OPENGL c gii thiu vo ngy 01/7/1992. bo m tớnh m , mi s nõng cp OpenGL phi thụng qua Uy Ban Xem Xột Kin Trỳc OpenGL( OpenGL Architecture Review Board AEB). nhau. Theo ngha này, OpenGL là network-transparent http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN KILOBOOKS.COM (tm dch là mng trong sut). Server duy trì nhiu ng cnh OpenGL, mi ng cnh. khung mà OpenGL có th truy xut ti thi đim cho phép. - Truyn đt cho OpenGL thơng tin v cu trúc các phn đó. - Nh vy, khơng có lnh OpenGL nào đnh dng b đm khung hay khi to OpenGL.

Ngày đăng: 05/10/2014, 09:46

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan