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 MC LC Li m đu PHN 1: TÌM HIU TH VIN HA OPENGL 1 Chng 1: S lc v OPENGL 1 1.1. Lch s phát trin 1 1.2. Khái nim 1 1.3. Thành phn 5 Chng 2: ha hai chiu GDI 6 2.1. Ta đ đ các và ta đ màn hình 6 2.2. nh ngha vertex và kiu d liu hình dng 8 2.3. Các phép bin hình 10 2.4. S dng ma trn cho các phép bin hình 17 Chng 3: ha ba chiu GDI 25 3.1. H ta đ ba chiu 25 3.2. nh ngha đi tng ba chiu 25 3.3. Các phng pháp th hin hình 3-D lên màn hình 28 3.4. Bin hình đi tng 3-D 31 Chng 4: Chng trình OpenGL ti thiu 36 4.1. Các kiu d liu OpenGL 36 4.2. Ng cnh biu din 36 4.3. nh dng đim v 38 4.4. To ng cnh bin din 44 4.5. Tng kt: 48 Chng 5: V hình và s dng màu: 48 5.1. Cú pháp lnh OpenGL 48 5.2. Các trng thái OpenGL 49 5.3. Xét mt chng trình OpenGL ti thiu 50 5.4. nh ngha và v đim 53 http://kilobooks.com THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN KILOBOOKS.COM 5.5. nh ngha và v đng 56 5.6. nh ngha và v đa giác 61 5.7. Tng kt 74 Chng 6: Các phép binhình OpenGL 75 6.1. Xây dng đi tng 3-D t các đa giác 75 6.2. Phép chiu 77 6.3. Phép bin hình đi tng 79 6.4. Phép bin đi viewport 85 6.5. Tng kt 88 Chng 7: Chiu sáng đi tng 3-D 89 7.1. Các loi ngun sáng 89 7.2. nh ngha mt ngun sáng 90 7.3. nh ngha tích cht vt liu 92 7.4. nh ngha các pháp tuyn 95 7.5. Xác đnh kiu bóng và kích hot vic kim tra chiu sâu 97 7.6. nh ngha đèn chiu 98 7.7. Th hin đi tng 3-D đc chiu sáng 99 7.8. Bng màu logic 103 7.9. Tng kt 107 Chng 8: To cnh 3-D 108 8.1. S dng các phép bin hình OpenGL đ to cnh 3-D 108 8.2. S dng các stack ma trn 113 8.3. To o giác chuyn đng vi OpenGL 117 8.4. Tng kt 119 Chng 9: Anh và gán cu trúc 119 9.1. Bitmap và nh OpenGL 120 9.2. Bitmap ph thuc thit b và bitmap đc lp vi thit b 125 9.3. nh dng DIB 125 9.4. Gii thiu lp Cdib 129 9.5. Gán cu trúc cho đa giác 139 http://kilobooks.com THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN KILOBOOKS.COM 9.6. Tng kt 147 Chng 10: Pha trn , gim hiu ng rng ca, và sng mù 148 10.1. Pha trn 148 10.2. Gim hiu ng rng ca 154 10.3. Sng mù 157 Chng 11: Display List 160 11.1. nh ngha: 160 11.2. Ti sao phi dùng display list 160 11.3. Các tính cht ca display list. 162 11.4. Các trng hp có th s dng display list. 162 11.5. Nhc đim ca display list. 162 11.6. To và thc thi mt display list. 163 11.7. Qun lý bin trng thái trong display list 164 Chng 12: Quadric. 164 PHN 2: MÔ PHNG CÁC GII THUT HA 3 D VI OPENGL: 166 Chng 1: Tng quan: 166 1.1. Mt s khái nim liên quan: 166 1.2. Các phép biên đi: 167 Chng 2: Xây dng ng dng mô phng thut gii: 169 2.1. Xây dng ng dngOpenGL 169 2.2. Cách làm vic ca ng dng 172 2.3. Bng kê chng trình: 179 Li 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 cng có th tham gia tho tun nhng khơng có quyn b phiu ). Open GL version1.1 đc ARB thơng qua vào tháng 12/1995. 1.2. Khái Nim : OpenGL đc đnh ngha là “giao din phn mm cho phn cng đ ha ”. Thc cht, OpenGL là mt th vin các hàm đ ha, đc xem là tiêu chun thit k cơng nghip cho đ ha ba chiu. Vi giao din lp trình mnh m, OpenGL cho phép to các ng dng 3-D phc tp vi đ tinh vi, chính xác cao, mà ngi thit k khơng phi đánh vt vi các núi cơng thc tốn hc và các mã ngun phc tp. Và do OpenGL là tiêu chun cơng nghip, các ng dng to t nó dùng đc trên các phn cng và h điu hành khác nhau. Các mc sau s gii thiu cách nhìn tng qt v cách làm vic ca OpenGL: - Các phn t đ ha c bn và lnh gii thiu v các phn t đ ha c bn (primitive) và s thc hin lnh - Cách làm vic ca OpenGL cho bit các lai thao tác đ ha mà OpenGL kim sốt - Mơ hình hot đng nói v mơ hình client/server cho vic thơng dch lnh OpenGL - Thao tác OpenGL c bn đa ra mt mơ t mc cao v cách OpenGL x lý d liu và to ra hình nh tng ng lên b đim khung. Các phn t đ ha c bn và lnh: Primitive đc xác đnh bi nhóm ca mt hay nhiu vertex là đim trong khơng gian. Mi vertex xác đnh mt đim, mt đu đon thng hay mt đnh đa giác. D liu (bao gm ta đ vertex, màu sc, normal, texture và c xác đnh loi cnh) kt hi vi vertex. Khi x lý primitive, mi cp vertex và d liu liên kt vi nó đc s lý đc lp vi các cp khác, theo th t và cùng mt phng pháp. Ngoi l duy nht là trong trng hp kh phn khut ca primirite(clipping). Khi đó, d liu vertex đc sa và các vertex khác đc to ra. Loi clipping tu thuc loi primirite mà nhóm vertex biu din. Các lnh ln ln đc x lý theo th t mà nó tip nhn, mt dù có s trì hỗn khơng xác đnh trc khi lnh có hiu lc. Ngha là mi primirite đc v trn vn trc khi lnh tip theo có hiu lc. Cách làm vic ca OpenGL: OpenGL là ngơn ng đ ha theo th tc ch khơng phi ngơn ng mơ t.Thay vì t các cnh và cách chúng xut hin, OpenGL đa ra các bc cn thit đ có đc s th hin hay hiu qu nht đnh. Các “bc”này là các li gi đn giao din lp trình ng dng gm xp x 120 lnh và hàm. Chúng đc dùng đ v các phn t đ ha c bn nh đim, đng và đa giác trong khơng gian ba chiu. Ngồi ra, OpenGL còn h tr chiu sáng, tơ bóng, gán cu trúc, to o giác chuyn đng và các hiu qu đc bit khác. OpenGL khơng có các chc nng qun lý ca s, tng tác vi ngi dùng hay xut nhp file. Mơi trng ch (tc h điu hành) có các chc nng này và chu trách nhim thc hin các bin pháp qun lý cho OpenGL. Mơ hình hot đng: Mơ hình thơng dch lnh OpenGL là client-server. Mã ng dng(vai trò client) đa ra các lnh. Lnh đc thơng dch và s lý bi OpenGL (vai trò server). Server và client có th là trên cùng mt máy tính khác nhau. Theo ngha này, OpenGL là network-transparent http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN KILOBOOKS.COM (tm dch là mng trong sut). Server duy trì nhiu ng cnh OpenGL, mi ng cnh là mt trng thái OpenGL. Client có th nói vi bt c ng cnh nào. Giao thc mng đc s dng có th là đc lp hóa da trên giao thc mng hin có (tc OpenGL dùng trên máy đc lp hay trên mơi trng mng). Khơng có lnh OpenGL nào tip nhn vic nhp d liu trc tip t ngi dùng. Cui cùng, h thng ca s kim sốt tác dng ca các lnh OpenGL trên b đm khung qua các thao tác: - Quyt đnh các phn ca b đm khung mà OpenGL có th truy xut ti thi đim cho phép. - Truyn đt cho OpenGL thơng tin v cu trúc các phn đó. - Nh vy, khơng có lnh OpenGL nào đnh dng b đm khung hay khi to OpenGL. S đnh dng b đm khung đc thc hin bên ngồi OpenGL trong s liên kt vi h thng ca s. S khi to OpenGL đc tin hành khi h thng cp phát ca s cho vic biu din. Hình 1.1 Mơ hình hot đng c bn ca OpenGL Lnh OpenGL Phía Client Phía Server Thao tác OpenGL c bn: S đ khi 1.2 tóm tt cách OpenGL x lý d liu. Các lnh đi vào phía trái s đ và qua “đng ng x lý”. Mt s lnh xác đnh đi tng hình hc đc v, và s khác kim sốt cách qun lý đi tng qua các giai đon 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ó ta đ âm. Và nh vy, vn đ phát sinh khi biu din mt đi tng đc đnh ngha trong h đ các. Trong ta đ màn hình, ta li nhn đc mt tam giác nh (hình 2.4), nu vi mã to 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 bit gia màn hình th hin và ta đ đ các, cn có mt phng pháp chuyn đi gia chúng. Thut ng đ ha gi là mapping các đim trong ta đ đ các sang ta đ màn hình đ th hin đi tng đúng v trí. Hình 2.1 Ta đ màn hình Hình 2.2 Ta đ 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 ngha này, OpenGL là network-transparent http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN KILOBOOKS.COM (tm dch là mng trong sut). Server duy trì nhiu ng cnh OpenGL, mi ng cnh. khung mà OpenGL có th truy xut ti thi đim cho phép. - Truyn đt cho OpenGL thơng tin v cu trúc các phn đó. - Nh vy, khơng có lnh OpenGL nào đnh dng b đm khung hay khi to OpenGL.