-- ·|­û / µù¥U -- ¡@
¡@±b¸¹¡G
¡@±K½X¡G
¡@ | µù¥U | §Ñ°O±K½X
3/26 ·s®Ñ¨ì¡I 3/19 ·s®Ñ¨ì¡I 3/14 ·s®Ñ¨ì¡I 12/12 ·s®Ñ¨ì¡I
ÁʮѬyµ{¡EQ & A¡E¯¸°È¯d¨¥ª©¡E«ÈªA«H½c
¢x 3ds Max¢x Maya¢x Rhino¢x After Effects¢x SketchUp¢x ZBrush¢x Painter¢x Unity¢x
¢x PhotoShop¢x AutoCad¢x MasterCam¢x SolidWorks¢x Creo¢x UG¢x Revit¢x Nuke¢x
¢x C#¢x C¢x C++¢x Java¢x ¹CÀ¸µ{¦¡¢x Linux¢x ´O¤J¦¡¢x PLC¢x FPGA¢x Matlab¢x
¢x Àb«È¢x ¸ê®Æ®w¢x ·j¯Á¤ÞÀº¢x ¼v¹³³B²z¢x Fluent¢x VR+AR¢x ANSYS¢x ²`«×¾Ç²ß¢x
¢x ³æ´¹¤ù¢x AVR¢x OpenGL¢x Arduino¢x Raspberry Pi¢x ¹q¸ô³]­p¢x Cadence¢x Protel¢x
¢x Hadoop¢x Python¢x Stm32¢x Cortex¢x Labview¢x ¤â¾÷µ{¦¡¢x Android¢x iPhone¢x
¥i¬d®Ñ¦W,§@ªÌ,ISBN,3dwoo®Ñ¸¹
¸Ô²Ó®ÑÄy¤ÀÃþ

¥æ¤¬¦¡­pºâ¾÷¹Ï§Î¾Ç¡G°ò©óOpenGLµÛ¦â¾¹ªº¦Û³»¦V¤U¤èªk¡]²Ä¤»ª©¡^

( ²Åé ¦r)
§@ªÌ¡G±iºaµØ,§º«B,¼B®Ñ­èµ¥Ãþ§O¡G1. -> ¦h´CÅé -> OpenGL
ĶªÌ¡G
¥Xª©ªÀ¡G¹q¤l¤u·~¥Xª©ªÀ¥æ¤¬¦¡­pºâ¾÷¹Ï§Î¾Ç¡G°ò©óOpenGLµÛ¦â¾¹ªº¦Û³»¦V¤U¤èªk¡]²Ä¤»ª©¡^ 3dWoo®Ñ¸¹¡G 32809
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

¡i¯Ê®Ñ¡j
¡i¤£±µ¨ü­qÁÊ¡j

¥Xª©¤é¡G5/1/2012
­¶¼Æ¡G512
¥úºÐ¼Æ¡G0
¯¸ªø±ÀÂË¡G
¦L¨ê¡G¶Â¥Õ¦L¨ê»y¨t¡G ( ²Åé ª© )
¡i¤£±µ¨ü­qÁÊ¡j
ISBN¡G9787121169021
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç
(²Åé®Ñ¤W©Ò­z¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, ­YŪªÌ»Ý­n½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ)
§@ªÌ§Ç¡G

ĶªÌ§Ç¡G

«e¨¥¡G

Ķ ªÌ §Ç
­pºâ¾÷¹Ï§Î¾Ç¡]Computer Graphics¡^²£¥Í¤_20¥@¬ö60¦~¥N¡A¬O¬ã¨s¹Ï§Îªº­pºâ¾÷¥Í¦¨¡B³B²z©MÅã¥Üªº¤@ªù¾Ç¬ì¡C¥Ø«e­pºâ¾÷¹Ï§Î¾Ç¤w¸gº¯³z¨ì¤u·~¥Í²£©MªÀ·|¬¡°Êªº¦U­Ó»â°ì¡A±q­¸¾÷¡B¨T¨®ªº­pºâ¾÷»²§U³]­p¨ì­¸¦æ¼ÒÀÀ¾¹¡B±qµøÀW´åÀ¸¨ì¼Æ¦r¹q¼v;±q¤Ñ®ð¹w³ø¨ì¦a½è°É±´;µL¤@¤£À³¥Î­pºâ¾÷¹Ï§Î¥Í¦¨§Þ³N¡C¦]¦¹¡A¥H¹Ï§Î¤H¾÷±µ¤f©M¥iµø¤Æ§Þ³N¬°¥Nªíªº­pºâ¾÷¹Ï§Î¾Ç¤w¦¨¬°­pºâ¾÷¾Ç¬ì¤¤³Ì¬¡ÅDªº¤À¤ä¤§¤@¡C
¦Û±q1995¦~²Ä¤@´Ú3dfx Voodoo¹Ï§Î¥[³t¥d­º¦¸µo¥¬¥H¨Ó¡A¹Ï§Î³B²z³æ¤¸¡]GPU¡^ªºÃ¸¨îµ²ºcµo¥Í¤F¥¨¤jªºÅܤơA¸g¾ú¤F±q¤ä«ù¦³­­ªº©T¤Æºâªk¡]¤£¨ã³Æ¥i½sµ{©Êªº¥\¯à©T©wªºGPU¡AFixedúQFunction GPU¡^¨ì¨ã¦³²Î¤@´è¬V¬[ºcªº§¹¥þ¥i½sµ{GPU¡]Programmable GPU¡^ªºµo®iÅܤơA¦}³q¹LOpenGL ES©MWebGLÂX®i¨ì²¾°Ê©M¤¬Ápºô»â°ì¡C¦b¹L¥h´X¦~¡AGPU±o¨ì¤F¨³³tµo®i¡A¤Tºû¹Ï§Îµ{§Ç¤]¸g¾ú¤F±q¹B¦æ³t«×ªº´£°ª¨ì¾Ö¦³°ª½è¶q¹Ï§Îªí²{¤OªºÂàÅÜ¡A¹Ï§Îø¨î¨t²Î©Ê¯àªº¼Wªø³t«×»·»·¶W¹L¤F¼¯º¸©w«ß¡A¦Ó¥BGPU¥»¨­ÁÙ¼W¥[¤F³\¦h·sªº¯S©Ê¡C¹ï¤_²{¥NªºOpenGLÀ³¥Îµ{§Ç¡A©Ò¦³ªºÃ¸¨î³£¬O³q¹L³»ÂIµÛ¦â¾¹©M¤ù¤¸µÛ¦â¾¹¨Ó±±¨îªº¡A¦]¦¹·sªº¥i½sµ{µ²ºc¬°À³¥Îµ{§Ç¶}µo¤H­û´£¨Ñ¤F·¥¤jªºÆF¬¡©Ê¡A­¢¤Á­n¨D¹Ï§Î¾Ç©M¬ì¾Ç¬Éªº¬ã¨s¤H­û´£¥X·sªººâªk¡A¥H¸Ñ¨M¨º¨Ç¨ì¥Ø«e¬°¤î¤@ª½¨Ï¥Î¶Ç²ÎªºÃ¸¨îµ²ºc¸Ñ¨Mªº°ÝÃD¡C
µM¦Ó¦b«Üªøªº¤@¬q®É¶¡¡A§Ú°ê¤j¦h¼Æ°ª®Õ©Òªö¥Îªº¶Ç²Îªº­pºâ¾÷¹Ï§Î¾Ç±Ð¾Ç¼Ò¦¡¦}¨S¦³¸ò¤W®É¤U­¸³tµo®iªº­pºâ¾÷¹Ï§Îµw¥óªºµo®i¡C³oºØ¶Ç²Îªº­pºâ¾÷¹Ï§Î¾Ç±Ð¾Ç¼Ò¦¡³q±`³ò¶¥\¯à©T©wªºGPUªº¤Tºû¹Ï§Îø¨î¬y¤ô½u¡A¨Ï¥ÎC»y¨¥¡]©ÎC++»y¨¥¡^¦}µ²¦XOpenGL API¡]©Î·L³nªºDirect3D¡^¤¶²Ð­pºâ¾÷¹Ï§Î¾Çªº­ì²z¡B¤èªk©M°ò¥»ªº¹Ï§Îø¨îºâªk¡CÀHµÛ¥i½sµ{GPU¤Î²³¦h°ª¯ÅµÛ¦â»y¨¥¡]¦pGLSL¡BHLSL©MCgµ¥¡^ªº¥X²{¡A³oºØ¶Ç²Îªº­pºâ¾÷¹Ï§Î¾Ç±Ð¾Ç¼Ò¦¡ªº¯Ê³´¤]³vº¥¼ÉÅS¥X¨Ó¡C¤£¨ã³Æ¥i½sµ{©ÊªºGPUÁöµM¥i¥HÀò±o¹Ï§Îø¨î©Ê¯à©M³t«×ªº´£°ª¡A¦ý¬O¥HÀ³¥Îµ{§Ç½sµ{¤H­û©ñ±ó¹ï¹Ï§Î¥Í¦¨¹Lµ{ªº±±¨î¬°¥N»ù¡A¦]¦Ó±q¬YºØµ{«×¤W­­¨î¤F¾Ç¥Íªº³Ð³y©Ê¡A¤]­­¨î¤F°ª¹G¯u¡B°ª½è¶q´_Âø¹Ï§Îªº¥Í¦¨¡A¨ä¦ZªG¤]´N¶Õ¥²µLªk§ïÅܳ\¦h¾Ç¥Í¾Ç²ß­pºâ¾÷¹Ï§Î¾Ç½Òµ{¤¤ªº­ì²zª¾ÃÑ¥uª¾¨ä¡§µM¡¨¡A¤£ª¾¨ä¡§©Ò¥HµM¡¨ªº§½­±¡C¥Î¬ü°êµÛ¦Wªº¤ß²z¾Ç®aMaslowªº¸Ü¨Ó»¡¡G¡§¦pªG§A°ß¤@ªº¤u¨ã´N¬OÁè¤l¡A´N·|§â©Ò¦³ªºªF¦è³£·í°µ°v¤l¡¨¡C³o´N¬O»¡¡A³oºØ¶Ç²Îªº­pºâ¾÷¹Ï§Î¾Ç±Ð¾Ç¼Ò¦¡¥²±N­­¨î¾Ç¥Í§Q¥Î°ª¯ÅµÛ¦â»y¨¥±±¨îGPU¶i¦æ¹Ï§Îø¨î©Î­pºâªº¯à¤O¡C¥Ø«e°ê¥~³\¦h¤j¾Ç³£¤w¸g±N°ò¤_¥i½sµ{GPUªº°ª¯ÅµÛ¦â»y¨¥¿Ä¤J­pºâ¾÷¹Ï§Î¾Çªº±Ð¾Ç»P¹ê½î¤¤¡A¦pUniversity of New Mexico¡BHarvard¡BMIT¡BCaltech¡BStanford¡BPurdue¡BBrown University¡BUniversity of Illinois¡BUniversity of Texas, Austin¡Aµ¥µ¥¡C¦]¦¹¡AÀHµÛ¥Ø«e¥i½sµ{GPUªº§Ö³tµo®i¡A¬°¤F¤Á¹ê´£°ª­pºâ¾÷¹Ï§Î¾Ç½Òµ{ªº±Ð¾Ç½è¶q»P±Ð¾Ç¤ô¥­¡A§ó¦n¦a»P°ê»Ú­pºâ¾÷¹Ï§Î¾Ç±Ð¨|¤Î¬ì¬ã¹ê½î±µ­y¡A³vº¥¦b§Ú°ê°ª®Õªº­pºâ¾÷¹Ï§Î¾Ç½Òµ{¤¤¤Þ¤J°ò¤_¥i½sµ{GPUø¨î¬y¤ô½u¤Î­±¦VµÛ¦â¾¹½sµ{ªº·s«¬±Ð¾Ç¼Ò¦¡¤w¬O·í°È¤§«æ¡C
ĶªÌ¦h¦~±q¨Æ­pºâ¾÷¹Ï§Î¾Çªº±Ð¾Ç»P¬ã¨s¡A²`ª¾¿ï¾Ü³o¼Ë¤@¥»¡§°ò¦©Ê»P¥ý¶i©Ê¡B²z½×©Ê»PÀ³¥Î©Ê¡B¬ì¾Ç©Ê»P³q«U©Ê¡¨¬Ûµ²¦X¥B¯àº¡¨¬¥Ø«e­pºâ¾÷¹Ï§Î¾Ç·s«¬±Ð¾Ç¼Ò¦¡ªº±Ð§÷ªº­«­n©Ê¡C¥Ø«e¦b°ê¤º¥~«Ü¤Ö¦³°ò¤_³oºØ·s«¬±Ð¾Ç¼Ò¦¡ªº­pºâ¾÷¹Ï§Î¾Ç®ÑÄy¡A¦Ó¥»®Ñ²Ä¤»ª©¤Ï¬M¤F­pºâ¾÷¹Ï§Î¾Ç¦b¹Ï§Îµw¥ó³]³Æ©M¹Ï§Îø¨î¼Ð·Çµ¥¤è­±ªº³Ì·sµo®i²{ª¬¡C±q¥»®Ñªº°Æ¼ÐÃD¡]°ò¤_OpenGLµÛ¦â¾¹ªº¦Û³»¦V¤U¤èªk¡^¥i¥H¬Ý¥X¡A¬Û¤ñ¤_«e­±¤­­Óª©¥»¡A²Ä¤»ª©§¹¥þ°ò¤_¥i½sµ{GPUªºOpenGLµÛ¦â¾¹½sµ{¨Ó¤¶²Ð­pºâ¾÷¹Ï§Î¾Çªº¬ÛÃö­ì²z¡B¤èªk©M§Þ³N¡C¦]¦¹¡A¥»®Ñªº²Ä¤»ª©¯à«Ü¦n¦aº¡¨¬³oºØ·s«¬±Ð¾Ç¼Ò¦¡ªº»Ý¨D¡A¤]¬O°ö¾i¾Ç¥Í°ò¤_²{¥NGPUªº¥i½sµ{­pºâ«äºûªº¤@¥»«D±`Ãø±oªºÀu¨q±Ð§÷¡C
¥»®Ñªº¥D­n¯S¦â¦p¤U©Ò­z¡C
¤º®eÂ×´I¦Ó¤S¨t²Î¡A°ò¦©Ê¤º®e©M©Ý®i©Ê¥DÃD¬Ûµ²¦X¡C¥»®Ñ¯A¤Î²{¥N­pºâ¾÷¹Ï§Î¾Ç½Òµ{´X¥G©Ò¦³ªº¥D­n¤º®e¡A²[»\¤F°ò¤_OpenGLµÛ¦â¾¹ªº¥æ¤¬¦¡¹Ï§Î½sµ{¡B¤Tºû¥i½sµ{ø¨î¬y¤ô½u¡BÅÜ´«»PÆ[¹î¡B¥ú·Ó»P©ú·tø¨î¡B¦±½u¦±­±«Ø¼Òµ¥°ò¥»ªº­pºâ¾÷¹Ï§Î¾Ç¤º®e¥H¤ÎÂ÷´²§Þ³N¡B¼h¯Å«Ø¼Ò¡B¹Lµ{«Ø¼Ò¡B¥ú½u¸òÂÜ¡B¦}¦æø¨î©MÅéø¨îµ¥°ª¯Å¤º®e¡C
¤º®e½s±Æ©M²Õ´¿W¨ã¯S¦â¡Aºî¦X¤Fª¾ÃÑ©Ê©M¹ê¥Î©Ê¡C¥»®Ñªö¥Î¤F¡§¦Û³»¦V¤U¡¨©M­±¦VOpenGLµÛ¦â¾¹½sµ{ªº¤èªk¡A¨Ï¾Ç¥Í¬J¯à¨Ï¥ÎC++»y¨¥¡BOpenGLµÛ¦â»y¨¥¡]GLSL¡^¦}µ²¦XOpenGL¨³³t¦a½s¼g¦Û¤vªº¥æ¤¬¦¡¤Tºû¹Ï§ÎÀ³¥Îµ{§Ç¡A¤S¯à¨t²Î¦a´x´¤­pºâ¾÷¹Ï§Î¾Çªº°ò¥»­ì²z¡B¤èªk©M§Þ³N¡C
§@ªÌµ²¦X¦Û¤v¦b­pºâ¾÷¹Ï§Î¾Ç»â°ì¦h¦~ªº±Ð¾Ç©M¬ì¬ã¦¨ªG¡A¬°¥»®Ñ´£¨Ñ¤F¤j¶qªº¸g¨å¥Ü¨Òµ{§Ç¡]ªþ¿ýAµ¹¥X¤F®Ñ¤¤10­Ó¥Ü¨Òµ{§Çªº§¹¾ã·½¥N½X¡^¡BÂ×´Iªº´¡¹Ï¡B±m¹Ï¥»®Ñªº±m¹Ï¤w¤W¸ü¨ìµØ«H±Ð¨|¸ê·½ºô(http://www.hxedu.com.cn),¦³¿³½ìªºÅªªÌ¥i§K¶O¤U¸ü¡X¡X½sªÌª`¡C©M²ßÃD¡A¦}¦b¨C³¹¦Z­±´£¨Ñ¤F³Ì·sªº«Øij¾\Ū¸ê®Æ¡A¬°¶i¤@¨B¥[²`©MÂX®iŪªÌ¹ï¦³Ãö¤º®eªº²z¸Ñ´£¨Ñ¤F¦³¤O¤ä«ù¡C
¬J¤£¥F¸g¨å²z½×¡A¤S°¼­«ªñ´X¦~­pºâ¾÷¹Ï§Î¾Çµo®iªº³Ì·s¦¨ªG¡C¥»®Ñ²Ä¤»ª©¤¤·s¼Wªº¬Y¨Ç§Þ³N¬O³Ìªñªº¤åÄm¤¤¥X²{ªº·s§Þ³N¡A³o¨Ç·s§Þ³N¥u¯à°ò¤_¥i½sµ{GPU¡C¬°¤F¤Î®É¤Ï¬M­pºâ¾÷¹Ï§Î¾Çªºµo®i²{ª¬¡A¥»®Ñ¹ï²Ä¤­ª©¤¤¬Y¨Ç³¹¸`¶i¦æ¤F½Õ¾ã¡A¦}¼W§R¤F¬ÛÃö¤º®e¡C
±N²Ä¤­ª©¤¤ªº¡§¿é¤J©M¥æ¤¬¡¨©M¡§¥i½sµ{µÛ¦â¾¹¡¨³o¨â³¹ªº¤º®e¿Ä¤J¨ì¨ä¥Lªº¦³Ãö³¹¸`¤¤¡A¤×¨ä¬O±N°ò¤_OpenGLµÛ¦â¾¹ªº½sµ{¼Ò¦¡³e¬ï¤_¥»®Ñ©Ò¦³ªº³¹¸`¡C¬°¦¹¡A¨Ï¥ÎC++»y¨¥¡BGLSL»y¨¥©MOpenGL 3.1­«¼g¤F®Ñ¤¤©Ò¦³¥Ü¨Òµ{§Çªº¥N½X¡]®Ñ¤¤ªº©Ò¦³¥Ü¨Òµ{§Ç³£ªö¥Î¤F·sªºÃ¸¨î¼Ò¦¡¡A¥]¬A¤T­Ó³¡¤À¡GOpenGLÀ³¥Îµ{§Ç¥N½X¡B³»ÂIµÛ¦â¾¹¥N½X©M¤ù¤¸µÛ¦â¾¹¥N½X¡^¡C
¦bOpenGL 3.1ª©¥»¤§«e¡A©Ò¦³ªºª©¥»³£¦V¦Z­Ý®e¡A¦]¦¹¨Ï¥Î¦­´ÁOpenGLª©¥»¶}µoªº¹Ï§ÎÀ³¥Îµ{§Ç¥i¥H½T«O¦b·sª©¥»¤¤¥¿±`¹B¦æ¡CµM¦Ó¡AOpenGL 3.1¤Î¥H¦Zªº·sª©¥»¼o±ó¤F¦­´Áª©¥»¤¤ªº¤@¨ÇOpenGL¨ç¼Æ¡A³o¨Ç¼o±óªº¨ç¼Æ¥]¬A¥ß§Yø¨î¼Ò¦¡¥H¤Î¥\¯à©T©wªºÃ¸¨î¬y¤ô½u¤¤ªº³\¦hÀq»{¦æ¬°¡C³oºØ³]­p²z©À¤Wªº¥D­nÅܤƨϱoOpenGL¯à°÷¨³³t¥]§t·sªº¹Ï§Îµw¥ó¯S©Ê¡C²Ä¤»ª©ªº©Ò¦³¥Ü¨Òµ{§Ç¤£¦A¨Ï¥Î¨º¨Ç³QOpenGL 3.1¼o±óªºOpenGL¨ç¼Æ¡A¦ý¹ï¤_¨º¨Ç»Ý­n¹B¦æª©¥»¥N½Xªº¥Î¤á¨Ó»¡¡A¤]¯à¥¿±`¹B¦æ¨äµ{§Ç¡A³o¬O¦]¬°´X¥G©Ò¦³ªºOpenGL¹ê²{³£¤ä«ù¹ï©Ò¦³¼o±ó¥\¯àªº­Ý®e©ÊÂX®i¡C
¼W¥[¤F¹ïWebGL¡BDelaunay¤T¨¤­å¤À¡BÅéø¨î¡BÂI¤ªµ¥¤º®eªº¤¶²Ð¡C
¥»®Ñ­ìª©¬O°ê¥~½Ñ¦h¤j¾Çªö¥Îªº¤@¥»¸g¨åªº­pºâ¾÷¹Ï§Î¾Ç±Ð§÷¡AĶªÌ¬Æ·Pºa©¯¦A¦¸©Ó±µ¤F¥»®Ñ³Ì·sª©¥»ªºÂ½Ä¶¤u§@¡C¬°¤F½T«OĶ¤åªº½è¶q¡AĶªÌ©M®Õ¹ï¤H­ûªá¤F¤j¶q®É¶¡¹ïĶ¤å¶i¦æ»{¯uªº®Õ¹ï©M²Î½Z¡C¹ï¤_­ì¤å¤¤Åã¦Ó©ö¨£ªº¿ù»~¡AĶªÌ¦bĶ¤å¤¤ª½±µ¶i¦æ¤F§ó¥¿¡A¦Ó¹ï¤_­ì¤å¤¤¥i¯à¦³»~ªº¦a¤è¡AĶ¤å¤¤§¡¥H¡§Ä¶ªÌª`¡¨ªº§Î¦¡°µ¤F¼Ðª`¡A¥H¨ÑŪªÌ°Ñ·Ó¡C
¥»®ÑªºÂ½Ä¶±o¨ì¤F«Ü¦h¤HªºÀ°§U»P°Ñ»P¡A¦b¦¹°J¤ß·PÁ¬°¥»®Ñ½Ķ¥I¥X§V¤Oªº¨C¤@­Ó¤H¡I°£¤F¥»¤H¤§¥~¡A§º«B¡B¼B®Ñ­è¤]°Ñ»P¤F¥»®ÑªºÂ½Ä¶¤u§@¡C¥t¥~¡A¼B§Ó¦t¡B»¯¦³¦¿¡B¥Û¼wÀs¡B°ª¤Ö³Õ¡B¦hª÷°x¡B§õ¤@±ö¡B¹ù¨}Ùyµ¥¤]°Ñ»P¤F¥»®Ñªì©l¸ê®Æªº¾ã²z©M®Õ¹ïµ¥¤u§@¡C
ĶªÌ¦b½Ķ¹Lµ{¤¤ÁöµM¤O¨D·Ç½T¦a¤Ï¬M­ìµÛ¤º®e¡A¦ý¥Ñ¤_¦Û¨­ªºª¾Ãѧ½­­©Ê¡AĶ¤å¤¤Ãø§K¦³¿ùº|¤§³B¡A·q½ÐŪªÌ§åµû«ü¥¿¡C

µØ¥_¹q¤O¤j¾Ç­pºâ¾÷¨t
±iºaµØ
2011¦~9¤ë ¤_«O©w

«e ¨¥

²Ä¤»ª©·s¼W¤º®e
¡´ ¥þ®Ñ¨Ï¥Î°ò¤_µÛ¦â¾¹ªº·sª©¥»OpenGL
¡´ ¤£¦A¨Ï¥Î¦bOpenGL 3.1¤¤©Ò±ó¥ÎªºOpenGL¨ç¼Æ
¡´ ¦bOpenGLÀ³¥Îµ{§Ç¥N½X©MµÛ¦â¾¹¤¤§¡¼W¥[¤F¹ê²{ÅÜ´«©MÆ[¹îªº²Ó¸`´y­z
¡´ «O«ù»POpenGL ES 2.0©MWebGLªº¤@­P©Ê
¡´ ¥ÎC++¥N´À¤FC
¡´ ¼W¥[¤F¦V¶qÃþ©M¯x°}Ãþ¥H³Ð«Ø»POpenGLµÛ¦â»y¨¥¡]GLSL¡^­Ý®eªºÀ³¥Îµ{§Ç¥N½X
¡´ °Q½×¤F°ò¤_³»ÂIªº¥ú·Ó­pºâ©M°ò¤_¤ù¤¸ªº¥ú·Ó­pºâ
¡´ ¼W¥[¤F¦hÃä§Îªº¤T¨¤²Ó¤À©MDelaunay¤T¨¤­å¤À
¡´ ¤¶²Ð¤FÅéø¨î
¡´ ­«·s½s¼g¤F©Ò¦³¥Ü¨Òµ{§Çªº¥N½X¥H¾A¦XOpenGL 3.1
¡´ ¼W¥[¤F·s¦XµÛªÌ¡A¡mOpenGL½sµ{«ü«n¡nªº§@ªÌDave Shreiner
¥»®Ñ¬O­pºâ¾÷¹Ï§Î¾Çªº¤Jªù±Ð§÷¡A­«ÂI¤¶²ÐÀ³¥Îµ{§Çªº½s¼g¡C¥»®Ñ¤_1997¦~­º¦¸¥Xª©¡A²Ä¤@ª©¦b¨Ï¥Î¼Ð·Ç¹Ï§Î®w©M¦Û³»¦V¤Uªº¤èªk¤W¦h¦h¤Ö¤Ö¬O¤@³õ­²©R¡C¦b±µ¤U¨Óªº13¦~¤¤¡Aµo¦æ¤F5­Óª©¥»¡A¤j¦h¼Æ­pºâ¾÷¹Ï§Î¾Ç·§½×½Ò¥H¤Î´X¥G©Ò¦³ªº±Ð¬ì®Ñ³£ªö¥Î¤F¥»®Ñªº¤èªk¡C
¦b¹L¥hªº´X¦~¤¤¡A¹Ï§Îµw¥óªº­«¤jÅܤƤw¸g¾É­P¤F¹Ï§Î³n¥óªº­«¤jÅܤơC¦bOpenGLªº«e15¦~¡A·sª©¥»ªºµo¥¬¤@ª½«O«ù¦V¦Z­Ý®e¡A°ò¦³n¥óªº¤É¯Å¨Ï¥N½Xªº¥i­«¥Î¯à¤O¦¨¬°­«­nªºÀuÂI¡AÀ³¥Î³n¥óªº¶}µoªÌ©M¹Ï§Î¾Ç½Òµ{ªº±Ð®v³£¦b¨ü¯q¡C±q©Ò¤½¥¬ªºOpenGL 3.0­«¤jÅܤƨӬݡA¨ä¤¤¤@­ÓÃöÁ䪺ÅܤƬO±qOpenGL 3.1¶}©l¡A³\¦h¥ý«eª©¥»¤¤³Ì±`¨£ªº¨ç¼Æ±N³Q¼o±ó¡C¬Û¹ï¤_¥ý«eª©¥»ªº³o¤@®Ú¥»ÅܤƤϬM¥X»Ý­n¨Ï¥Î³Ì·sªº¥i½sµ{¹Ï§Î³B²z³æ¤¸¡]GPU¡^ªº¥\¯àÅܤơA³o¨ÇÅܤƤ]¬OOpenGL ES 2.0©MWebGLªº¤@³¡¤À¡AOpenGL ES 2.0¥Î¤_¶}µo¤â¾÷©M¹Ï§Î¿é¤JªOµ¥²¾°Ê²×ºÝ³]³ÆªºÀ³¥Î³n¥ó¡A¦ÓWebGL¤ä«ù¤j¦h¼Æ³Ì·sªºÂsÄý¾¹¡C
´N¹³¥»®Ñ¥H«e5­Óª©¥»ªº§@ªÌ¡]Edward Angel¡^¥H¤Î¡mOpenGL½sµ{«ü«n¡n©M¡mOpenGL ES 2.0½sµ{«ü«n¡nªº§@ªÌ¡]Dave Shreiner¡^¤@¼Ë¡A§Ú­Ì­±Á{µÛ¦p¦ó¤Ï¬M³o¨ÇÅܤƪºÃøÃD¡C§Ú­Ì¼¶¼g¤F¦h³¡®ÑÄy¦}¦bACM SIGGRAPH¤¤¦h¦~±q¨ÆOpenGL¾É½×½Òµ{ªº±Ð¾Ç¡A§Ú­Ìµo²{¦b°ªµ¥±Ð¨|¬É©Î°ªºÝ´åÀ¸»â°ì¤§¥~ªºÀ³¥Îµ{§Ç½sµ{¤H­û¡A´X¥G¨S¦³¤H¤F¸Ñ³o¨ÇÅܤơAª¾¹D³o¨ÇÅܤƪº¤H¦}¤£»{¬°§Ú­Ì¥i¥H¦bªì¯Å¼h¦¸±Ð·|³o¨Ç·§©À¡C³o´¿¬O¤@­Ó§Ú­Ì¤£¯à§Ü©Úªº¬D¾Ô¡A¦bSIGGRAPHªº½Òµ{±Ð¾Ç¤¤¡A§Ú­Ì±q¥b¤Ñªºµu´Á½Òµ{¶}©l¡A³o¨Ï§Ú­Ì½T«H¥i¥H±Ð·|¥H«e¨S¦³¹Ï§Î½sµ{¸gÅ窺¤H¦p¦ó½s¼g¤@­Ó°ò¤_µÛ¦â¾¹ªº¹ê¥Îµ{§Ç¡A¥u¤£¹L¤ñ¦­´Áª©¥»ªºOpenGL¦h¤@ÂIÂI¤u§@¦Ó¤w¡C
¦b½s¼g³o¤@ª©ªº®É­Ô¡A§Ú­Ì§ä¨ì¤F¤@¨Ç¨ä¥L²z¥Ñ¡A³o¨Ï§Ú­Ì½T«H³oºØ±Ð¾Ç¤èªk¤£¶È¬O¥i¯àªº¡A¦Ó¥B¹ï¾Ç¥Í¾Ç²ß­pºâ¾÷¹Ï§Î¾Ç¬Æ¦Ü§ó¦n¡C´N¦b¤£¤[«e¡A§Ú­Ì«ÅÁ¿¤FOpenGL±a¨ÓªºÀu¶Õ¡A¥¦¾A¥Î¤_Windows¡BLinux ¥H¤ÎMac OS X¡A³o¼Ë´N¥i¥HÁ¿±Â¤@ªùÅý¾Ç¥Í¦b³ß·Rªº¾Þ§@¨t²ÎÀô¹Ò¤¤½sµ{ªº½Òµ{¡C¾Ç¥Í­Ì²{¦b¥i¥H¥ÎOpenGL ES©MWebGL¶}µo¤â¾÷©MWebÂsÄý¾¹¤WªºÀ³¥Î³n¥ó¡A³o±N¿EÀy¾Ç²ß­pºâ¾÷¹Ï§Î¾Çªº¾Ç¥Í©M±Ð®v¡A¦}¶}¹@³\¦h·sªº±Ð¨|©M°Ó·~¾÷·|¡C
§Ú­Ì»{¬°¹ï¤_¾Ç²ß¸gÅç¨Ó»¡¤×¬°­«­nªº¬O¡AŪªÌÀ³¸Óª¾¹D¦b³o¨ÇOpenGLªº·sª©¥»¤¤±ó¥Î¤F¥ý«eª©¥»¤¤ªº¤j³¡¤ÀÀq»{¨ç¼Æ¥H¤Î©T©w¥\¯àªºÃ¸¨î¬y¤ô½u¡C¥E¬Ý°_¨Ó¡A³oºØ±ó¥Î¾÷¨î¦ü¥G¨Ï²Ä¤@¸`½Òµ{ªº±Ð¾Ç§ó¥[§xÃø¡A¤]¥i¯àµy·L§xÃø¨Ç¡A¦ý¬O§Ú­Ì»{¬°·|§ó¦n¡C¦]¬°¤j¦h¼Æ¾Ç¥Í¹L¤_¨Ì¿à³o¨Ç¨ç¼Æ¡A¦Ó¦}¤£¤Ó¦b·N½Ò¥»©Î±Ð®v­nÁ¿±Âµ¹¥L­Ì¤°¤\¡C¬°¤°¤\·í¾Ç¥Í¨Ï¥Îø¨î³zµø§ë¼v¹Ï©Î°õ¦æ¥ú·Ó­pºâªºOpenGL¤º¸m¨ç¼Æ´N·P¨ì¬ÈÄß©O¡H²{¦b¡A³o¨Ç¨ç¼Æ¨S¦³¤F¡A¾Ç¥Í­Ì¤£±o¤£¦Û¤v½s¼gµÛ¦â¾¹¨Ó§¹¦¨³o¨Ç¥ô°È¡A³o¼Ë¥L­Ì´N¥²¶·­º¥ý²z¸Ñ­pºâ¾÷¹Ï§Î¾Çªº°ò¥»­ì²z©M¬ÛÃöªº¼Æ¾Ç°ò¦¡C
¦Û³»¦V¤Uªº¤èªk
¹Ï§Î¾Çªº·s¶i®i¥H¤Î¥»®Ñ«e5­Óª©¥»ªº¦¨¥\¤@ª½Ã@µ¦µÛ§Ú­Ì°í«ùªö¥Î¦Û³»¦V¤Uªº¡B­±¦Vµ{§Ç³]­pªº¤èªk¨Ó¤¶²Ð­pºâ¾÷¹Ï§Î¾Ç¡CÁöµM³\¦h­pºâ¾÷¬ì¾Ç»P¤uµ{¨t²{¦b¶}³]¤F¦hªù­pºâ¾÷¹Ï§Î¾Ç½Òµ{¡A¦ý¬O¤j¦h¼Æ¾Ç¥Í¥u¿ï­×¤@ªù¡C¦b¾Ç¥Í­Ì¾Ç²ß¤Fµ{§Ç³]­p¡B¼Æ¾Úµ²ºc¡Bºâªk¡B³n¥ó¤uµ{©M°ò¦¼Æ¾Ç¥H¦Zµ¹¥L­Ì¦w±Æ¤@ªù¹Ï§Î¾Ç½Òµ{¡AÀ³¤¹³\±Ð®v¥H¤º®e¥R¹ê¦}¥B¦³½ìªº¤è¦¡«ö¤W­z¤w¾Ç½Òµ{¨Ó²Õ´­pºâ¾÷¹Ï§Î¾Ç½Òµ{¡A§Ú­Ì§Æ±æ³o¨Ç¾Ç¥Í¾Ç²ß³oªù½Òµ{®ÉºÉ¥i¯à¦­¦a½s¼g¥X¤TºûÀ³¥Îµ{§Ç¡C©³¼hªººâªk¡A¨Ò¦pø¨î½u¬q©ÎªÌ¶ñ¥R¦hÃä§Î¡A¥i¥H¦b¾Ç¥Í­Ì½s¼g¤F¹Ï§Îµ{§Ç¤§¦Z¦A¦Ò¼{¡C
­pºâ¾÷±Ð¨|ªº¥ýÅXJohn Kemeny´¿¸g§â¦Û³»¦V¤Uªº½sµ{¤èªk»P§Ú­Ì¼ô±xªº¨T¨®¨ÓÃþ¤ñ¡G§A¨S¦³¥²­nª¾¹D¨T¨®¸n¤U­±¬O¤°¤\¡A¦ý¬O¦pªGª¾¹D¤º³¡ªº¤u§@­ì²z¡A§A´N·|¥h¾r¾p¨T¨®¦Ó¤£¬O§¤¦b¨T¨®¦Z®y¤W¡C¦P¼ËªºÃþ¤ñ¾A¥Î¤_Á¿±Â­pºâ¾÷¹Ï§Î¾Çªº¤èªk¡C²Ä¤@ºØ¤èªk¡]ºâªkªº¤èªk¡^¬O§â¨T¨®¤u§@­ì²zªº¤è¤è­±­±³£¥æ¥N²M·¡¡Gµo°Ê¾÷¡B¶Ç°Ê¸Ë¸m¡B¿U¿N¹Lµ{µ¥¡F²Ä¤GºØ¤èªk¡]·§Äýªº¤èªk¡^¬O¶±¤@¦W¥q¾÷¡A¦Û¤v§¤¦b¦Z­±Æ[¥ú¡F²Ä¤TºØ¤èªk¡]¥»®Ñªö¥Îªº½sµ{¤èªk¡^¬O±Ð·|§A¦p¦ó¾r¾p¦}§â¨®¶}¨ì§A·Q­n¥hªº¦a¤è¡A¥¿¦p¤@¥y¹L®Éªº¯²¸î¼s§iµü»¡ªº¨º¼Ë¡G¡§Åý§Ú­Ì§â§A©ñ¦b¾r¾p­ûªº¦ì¤l¤W¥h¡¨¡C
¨Ï¥ÎOpenGL©MC++»y¨¥½sµ{
·í¥»®Ñªº²Ä¤@§@ªÌEdward Angel¦b25¦~«e¶}©lÁ¿±Â­pºâ¾÷¹Ï§Î¾Çªº®É­Ô¡A·í®É¥H­±¦V½sµ{ªº¤è¦¡Á¿±Â³oªù½Òµ{¦}½s¼g¬ÛÀ³±Ð§÷ªº³Ì¤j»Ùê¬O¯Ê¥F¤@­Ó¼sªx±µ¨üªº¹Ï§Î®w©ÎªÌÀ³¥Îµ{§Ç½sµ{±µ¤f¡]API¡^¡C¹J¨ìªº§xÃø¥]¬A¡G°ª¦¨¥»¡B¥i¥Î©Ê¨ü­­¡B¯Ê¥F³q¥Î©Ê¥H¤Î°ª´_Âø©Ê¡COpenGLªº¶}µo¸Ñ¨M¤F§Ú­Ì¤¤«Ü¦h¤H¦b¨ä¥LAPI¡]¨Ò¦pGKS©MPHIGS¡^¤¤¹J¨ìªº¥H¤Î¦b¨Ï¥Î¦Û¤v½s¼gªº³n¥ó§@¬°´À¥N®É©Ò­±Á{ªº¤j¦h¼Æ§xÃø¡A¤µ¤Ñ©Ò¦³ªº¥­»O³£¤ä«ùOpenGL¡A¥¦¤w©MMicrosoft Windows¥H¤ÎMac OS X¾Þ§@¨t²Î¶°¦¨¦b¤@°_¡C¹ê»Ú¤W©Ò¦³ªº¹Ï§Î¥d³£¦³ÅX°Êµ{§Ç¡A¦b¤j¦h¼ÆLinuxµo¦æª©¤¤¤]³£¥]§t¤@­ÓºÙ¬°MesaªºOpenGL API¡C
¤@ªù¹Ï§Î¾Çªº½Òµ{»·»·¤£¯à¶ÈÁ¿±Â¦p¦ó¨Ï¥Î¤@ºØ¯S©wªºAPI¡A¤@ºØ¦nªºAPIÀ³¨Ï±oÁ¿±Â¹Ï§Î¾Ç¤¤ªº¤@¨ÇÃöÁ䤺®eÅܱo§ó®e©ö¡A³o¨Ç¤º®e¥]¬A¤Tºû¹Ï§Î¾Ç¡B¥ú·Ó©M©ú·t³B²z¡B«È¤á¡þªA°È¾¹¹Ï§Î¨t²Î¡B«Ø¼Ò¥H¤Î¹ê²{ºâªk¡C§Ú­Ì¬Û«H¡AOpenGLªºÂX®i¥\¯à¥H¤Î¨}¦n©w¸qªºµ²ºc¥i¥H¬°Á¿±Â¹Ï§Î¾Ç²z½×©M¹ê½î³o¨â¤è­±´£¨Ñ¤F§ó¦nªº°ò¦¡A¦Ó¥BOpenGL¦P¼Ë¤]¥i¥H¬°Á¿±Â¥]¬A¯¾²z¬M®g¡B¹Ï¹³¿Ä¦X¥H¤Î¥i½sµ{µÛ¦â¾¹¦b¤ºªº¤@¨Ç°ª¯Å·§©À´£¨Ñ§ó¦nªº°ò¦¡C
¤j¬ù15¦~¥H«eEdward Angel´N¶}©l¦b±Â½Ò®É¨Ï¥ÎOpenGL¡Aµ²ªG¥O¥LªY³ß­Y¨g¡C¦b¨º­Ó¾Ç´Áªº´Á¤¤¤§«e¡A©Ò¦³ªº¾Ç¥Í´N³£¯à½s¼g¥X¤¤µ¥´_Âøµ{«×ªº¤Tºû¹Ï§Îµ{§Ç¡A¦Ó½s¼g³o¼Ëªºµ{§Ç»Ý­n²z¸Ñ¤TºûÅã¥Ü©M¨Æ¥óÅX°Ê¿é¤J¡C¦b³o¤§«e´X¦~ªº­pºâ¾÷¹Ï§Î¾Ç±Ð¾Ç¤¤¡AEdward Angel±q¥¼¦¬¨ì¹L¦p¦¹¦nªº±Ð¾Ç®ÄªG¡A¨º¦¸½Òµ{¥¥¨|¥X¤F¥»®Ñªº²Ä¤@ª©¡C
¥»®Ñ¬OÃö¤_­pºâ¾÷¹Ï§Î¾Çªº±Ð¬ì®Ñ¡A¦}¤£¬OOpenGL¨Ï¥Î¤â¥U¡C¦]¦¹¡A¨S¦³§âOpenGL APIªº¤è¤è­±­±³£¤@¤@¤¶²Ð¡A¦Ó¬O¶È¶È¸ÑÄÀ¤F¹ï¤_´x´¤¥»®Ñ¤º®e¨Ó»¡¥²­nªº¨º¨Ç³¡¤À¡C¦]¦Ó¡A¥»®Ñ¦b¤¶²ÐOpenGL®Éªº©w¦ì¬O¤¹³\¨ä¥LAPI¥Î¤á²@µL§xÃø¦a¾\Ū¥»®Ñªº¤º®e¡C
»P«e´X­Óª©¥»¬Û¤ñ¡A³o¤@ª©¨Ï¥ÎC++¥N´ÀC»y¨¥§@¬°¥e¥D¾É¦a¦ìªº½sµ{»y¨¥¡A¥D­n­ì¦]¬O¥²¶·¥ÎOpenGLµÛ¦â»y¨¥¡]GLSL¡^¨Ó½s¼gµÛ¦â¾¹¡A¦ÓµÛ¦â¾¹¬O±±¨îGPUªºµ{§Ç¡CGLSL¬O¤@­ÓÃþ¦ü¤_Cªº»y¨¥¡A¥]¬A¦V¶q©M¯x°}ªº­ì¤l¼Æ¾ÚÃþ«¬¡A¥H¤Î¾Þ§@¥¦­Ìªº°ò¥»¹Bºâ²Åªº­«¸ü¡COpenGLªº©Ò¦³²{¥Nª©¥»­n¨D¨C¤@­ÓÀ³¥Îµ{§Ç´£¨Ñ¨â­ÓµÛ¦â¾¹¡A¦]¦¹¾Ç¥Í»Ý­n¨Ï¥Î³o¨Ç¯S©º¡A¥¦­Ì¥i¥H¤ä«ùC++¡C¥u³q¹L¨Ï¥ÎC++ªº³o³¡¤À¡]²³æÃþ¡Bºc³y¨ç¼Æ¡B­«¸ü¾Þ§@²Å¡^¤º®e¡A§Ú­Ì´N¥i¥H¹ê²{°ò¥»¹Ï§Î·§©À¡A¦pÅÜ´«©M¥ú·Ó¡AµL½×¬OOpenGLÀ³¥Îµ{§ÇÁÙ¬OµÛ¦â¾¹´X¥G³£¬O§¹¥þ¬Û¦Pªº¥N½X¡C¦¹¥~¡A¨Ï¥Î¥»®Ñºô¯¸´£¨ÑªºÂ²³æ¯x°}Ãþ©M¦V¶qÃþ¥i¥H½s¼g¥X§ó¥[²M´·¡B²¼äªº¥N½X¡C¾Ç²ßJava©ÎC»y¨¥ªº¾Ç¥Í²z¸Ñ¥»®Ñ¤¤ªº¥N½XÀ³¸Ó¨S¤°¤\§xÃø¡C
¾A¥ÎªºÅªªÌ
¥»®Ñ¾A¥Î¤_­pºâ¾÷¬ì¾Ç©M¤uµ{±M·~ªº°ª¦~¯Å¥»¬ì¥Í©M¤@¦~¯Å¬ã¨s¥Í¡A¥H¤Î¨ã¦³¨}¦nµ{§Ç³]­p¯à¤Oªº¨ä¥L±M·~¾Ç¥Í¡C¥»®Ñ¹ï¤_³\¦h±M·~¤H­û¤]¬O¦³»ù­Èªº¡C§Ú­Ì¤w¸g¦¨¥\¦a¬°±M·~¤H­ûÁ¿±Â¤F100¦h¦¸µu´Á½Òµ{¡A±q³o¨Ç«D¶Ç²Î·N¸qªº¾Ç¥Í¨­¤WÀò±oªº¸gÅç·¥¤j¦a¼vÅT¤F¥»®Ñªº¤º®e¡C
¦b¾\Ū¥»®Ñ¤§«e¡AŪªÌÀ³¸Ó¼ô½m´x´¤C++¡BJava©ÎªÌC»y¨¥¡A²z¸ÑÃìªí©M¾ðµ¥°ò¥»¼Æ¾Úµ²ºc¦}¨ã¦³½u©Ê¥N¼Æ©M¤T¨¤¾Çªºªì¨Bª¾ÃÑ¡C§Ú­Ìµo²{­pºâ¾÷¬ì¾Ç±M·~¾Ç¥Íªº¼Æ¾Ç­I´º¬Û®t«Ü¤j¡A¤£ºÞ¬O¥»¬ì¥ÍÁÙ¬O¬ã¨s¥Í³£¬O¦p¦¹¡C¦]¦¹¡A¥»®Ñ¥]§t¤F«Ü¦h­pºâ¾÷°ò¦¹Ï§Î¾Ç©Ò»Ýªº½u©Ê¥N¼Æ©M´X¦ó¾Çª¾ÃÑ¡C
¥»®Ñªº¤º®e²Õ´
¥»®Ñ¤º®e²Õ´¦p¤U¡G²Äl³¹·§Äý¾ã­Ó¹Ï§Î¾Ç»â°ì¦}¤¶²Ð¤F°ò¤_¥ú¾Ç³]³Æªº¹Ï¹³¥Í¦¨¡A³o¼Ë±q¤@¶}©l´N¤Þ¤J¤F¤Tºû¹Ï§Î¾Çªº·§©À¡C²Ä2³¹¤¶²ÐOpenGL½sµ{¡AÁöµM½s¼gªº²Ä¤@­Ó¥Ü¨Òµ{§Ç¬O¤Gºûªº¡]¨C¤@³¹³£¦³¤@­Ó©ÎªÌ¦h­Ó§¹¾ãªº½sµ{¥Ü¨Ò¡^¡A¦ý¬O³o­Óµ{§Ç¬O´O¤J¦b¤TºûÀô¹Ò¤U½s¼gªº¡A¦}¥B¥i¥HÂX®i¨ì¤Tºû¡C³o¤@³¹ÁÙ¤¶²Ð¥æ¤¬¦¡¹Ï§Î¾Ç¥H¤Î°ò¤_¨Æ¥óÅX°Êªº¹Ï§Îµ{§Ç¶}µo¡C²Ä3³¹©M²Ä4³¹°Q½×¤Tºû¹Ï§Î¾Ç·§©À¡A²Ä3³¹°Q½×¦p¦ó©w¸q©M³B²z¤Tºû¹ï¶H¡A¦Ó²Ä4³¹°Q½×¦p¦óÆ[¹î¥¦­Ì¡C²Ä5³¹¤¶²Ð¥ú½u©M§÷½è¤§¶¡ªº¬Û¤¬§@¥Î¥H¤Î©ú·tø¨î¡C³o5³¹À³¸Ó«ö¶¶§ÇÁ¿±Â¡A¦b¤@­ÓÁ`¦@15©Pªº¾Ç´Á¨½¡A¤j¬ù10©P¥i¥HÁ¿§¹³o¨Ç¤º®e¡C
¦Z­±ªº6³¹¥i¥H«ö·Ó¥ô¦ó¶¶§Ç¾\Ū¡C©Ò¦³³o6³¹³£©Î¦h©Î¤Ö¬O¶}©ñ¦¡ªº¡AŪªÌ¥i¥H·§Äý¡A¤]¥i¥H²`¨s¨ä¤¤ªº¤@¨Ç½ÒÃD¡C²Ä6³¹°Q½×¥ú¬]¤Æ¡A¹ï¤Tºû¹Ï§Îø¨î¬y¤ô½u¤¤ªº¨C­Ó°ò¥»¨BÆJ³£µ¹¥X¤F¤@ºØ©Î¨âºØ¥D­nºâªk¡A³o¨Ç°ò¥»¨BÆJ¥]¬Aµô°Å¡Bª½½u¬q¥Í¦¨©M¦hÃä§Î¶ñ¥R¡C²Ä7³¹¤¶²Ð¥Ø«e¹Ï§Îµw¥ó©MOpenGL©Ò¤ä«ùªº³\¦h·sªºÂ÷´²§Þ³N¡A©Ò¦³³o¨Ç§Þ³N³£»Ý­n»P¦UºØ½w¦s¥´¥æ¹D¡A³o¤@³¹¥H²³æ°Q½×­pºâ¾÷¹Ï§Î¾Ç¤¤ªº¨«¼Ë°ÝÃD¦Óµ²§ô¡C²Ä6³¹©M²Ä7³¹°Q½×¤F¥Î¤_©Ò¦³¥æ¤¬¦¡¹Ï§Î¨t²Îªº¼Ð·ÇÆ[¹î¬y¤ô½u¡C
²Ä8³¹¥]§t¼h¯Å«Ø¼Ò¥DÃD¤¤ªº­Y¤zªQ´²¤º®e¡A¯A¤Î±q¼h¯Å¼Ò«¬¡]«Ê¸Ë¤F¦U³¡¤À¤§¶¡Áp¨tªº¼Ò«¬¡^ªººc³y¨ì¤¬Ápºô¹Ï§Îø¨îªº°ª¯Å¤èªk¡C³o¤@³¹¥]¬A¹ï³õ´º¹Ï©M¶}©ñ³õ´º¹Ï¡]OSG¡^ªº¤¶²Ð¡C²Ä9³¹¤¶²Ð­Y¤z¹Lµ{¤èªk¡A¥]¬A²É¤l¨t²Î¡B¤À§Î©M¹Lµ{¾¸Án¡C²Ä10³¹°Q½×¦±½u©M¦±­±¡A¥]¬A²Ó¤À¦±­±¡C²Ä11³¹¤¶²Ð¨ä¥L¤@¨Ç°ªÃ¸¨î¤èªk¡A¶i¤@¨B°Q½×¤F¥ú½u¸òÂÜ©M¿ç®g«×¤èªk¡AÁÙ¤¶²Ð¤F°ò¤_¹Ï¹³ªºÃ¸¨î©M¦}¦æø¨î¡C
ªþ¿ýA¥D­n¬O¥»®Ñ²Ä¤@³¡¤Àªºµ{§Ç¡A¥¦­Ì¤]¥i¥H±qºô¤W±o¨ì¡]°Ñ¬Ý»²§U¸ê®Æ¡^¡Aªþ¿ýB©Mªþ¿ýC¥]§t¹ï­I´º¼Æ¾Çª¾ÃѪº¦^ÅU¡Aªþ¿ýD¥]¬A¥»®Ñ¥Î¨ìªºOpenGL¨ç¼Æ¤@Äý¡C
¬Û¹ï²Ä¤­ª©ªºÅܤÆ
ŪªÌ¹ï¤_¥»®Ñ«e5ª©ªºµ´¤j¦h¼Æµû»ù³£¬OªÖ©wªº¡A¯S§O¬O¹ï¤_ªö¥ÎOpenGL©M¦Û³»¦V¤Uªº¤èªk§ó¬O¦p¦¹¡CÁöµM¨Cª©³£¼W¥[§÷®Æ¥H¤Ï¬M¹Ï§Î¾Ç»â°ìªº³Ì·s¶i®i¡A¦ý¬O²Ä¤­ª©°µ¤F­«¤j§ïÅÜ¡A¤Þ¤J¤F¥i½sµ{µÛ¦â¾¹©MOpenGLµÛ¦â»y¨¥¡C³o³¡¤À§÷®Æ¤£¬O¥²»Ýªº¡A¦]¬°²{¦³OpenGLª©¥»¦V¦Z­Ý®e¡C¦n¦b¤j¦h¼Æ±Ð®v¥D­n¿ï¾Ü«e6³¹ªº¤º®e¡A¦}¤£Á¿±Â¥i½sµ{µÛ¦â¾¹¡C
¥¿¹³§Ú­Ì¦b¥»ª©«e¨¥¶}©l©Ò«ü¥X¡A¨Ï¥Î·sª©¥»ªºOpenGL¡A¨C¤@­ÓÀ³¥Îµ{§Ç³£¥²¶·´£¨ÑµÛ¦â¾¹¡C»P¦­´Áª©¥»¬Û¤ñ¤j³¡¤À°ò¥»¨ç¼Æ¤w³Q±ó¥Î¡A¥]¬A«ü©w´X¦óÅé¡BÅÜ´«©M¥ú·Ó°Ñ¼Æªº¨ç¼Æ¡C¦]¦¹¡A¥i½sµ{µÛ¦â¾¹¤ÎGLSL»Ý­n¦b²Ä2³¹¤¶²Ð¡A»P¥H«eªºª©¥»¬Û¤ñ¡AÁöµM²Ä¤»ª©¤¤ªº³\¦h¥Ü¨Òµ{§Ç²£¥Í¬Û¦Pªº¿é¥Xµ²ªG¡A¦ý¥N½X§¹¥þ¤£¦P¡C
²Ä¤»ª©±N¦³Ãö¹Ï§Î¥æ¤¬ªº®Ö¤ß¤º®e¦X¦}¨ì¤F²Ä2³¹¡A¦Ó¤£¦A±N¿é¤J©M¥æ¤¬§@¬°³æ¿W¤@³¹¡C³o¼Ë¡A²Ä2³¹½g´TÁöµMÅܱoµy·L¦³¨Çªø¡A¦ý»P¥ý«eªºª©¥»¬Û¤ñ¡A§Ú­Ì»{¬°¼W¥[ªº¥i½sµ{µÛ¦â¾¹¤º®e¥u¬Oµy·L©µ¿ð¤F¥¬¸m²Ä¤@¦¸½sµ{½m²ß§@·~¡C
¥i½sµ{µÛ¦â¾¹¨ÏÀ³¥Îµ{§Ç½sµ{¤H­û­±Á{¤@ºØ¿ï¾Ü¡A¥L­Ì»Ý­n¦Ò¼{¬O¦bOpenGLÀ³¥Îµ{§Ç¤¤ÁÙ¬O¦bµÛ¦â¾¹¤¤¹ê²{¤j³¡¤À®Ö¤ßªº¹Ï§Îø¨î¥\¯à¡C¥»ª©­«·s²Õ´¤F¬Y¨Ç§÷®Æ¥H«K¶°¤¤¤¶²Ð»P¬Y­Ó¯S©w¥DÃD¬ÛÃöªº¥i¿ï¤º®e¡C¨Ò¦p¡A¤À§O¦bOpenGLÀ³¥Îµ{§Ç¤¤¡B³»ÂIµÛ¦â¾¹¤¤¥H¤Î¤ù¤¸µÛ¦â¾¹¤¤¶i¦æ¥ú·Ó­pºâªº¤º®e³£¶°¤¤©ñ¦b¤F²Ä5³¹¤¶²Ð¡C
ŪªÌ¹ï¥H«eª©¥»¤¤²Ä1³¹¨ì²Ä6³¹ªº®Ö¤ß¤º®e¤Ï¬M«Ü¦n¡A©Ò¥H¥»ª©ºÉ¶q«O«ù³o¨Ç³¹¸`ªº¤º®e¡]·sª©¬°²Ä1³¹¦Ü²Ä5³¹¡^¡A¨Ï¨ä§ïÅÜ­°¨ì³Ì§C¡C¥»ª©¤´±N²Ä1³¹¦Ü²Ä5³¹µø¬°­pºâ¾÷¹Ï§Î¾Ç¾É½×½Òµ{ªº®Ö¤ß¤º®e¡A²Ä6³¹¦Ü²Ä11³¹¥i¥H«ö¥ô¦ó¶¶§Ç¨Ó¨Ï¥Î¡A¬J¥i¥H§@¬°¤@­Ó¾Ç´Áªº·§½×½Ò¡A¤]¥i¥H§@¬°¶¶§Ç¶}³]ªº¨â­Ó¾Ç´Áªº½Òµ{¤º®e¡C
»²§U¸ê®Æ
¦b§@ªÌªººô¯¸www.cs.unm.edu/~angel©MAddisonúQWesley¥Xª©ªÀªººô¯¸www.aw.com/cssupport¤W³£¥i¥H§ä¨ì¥»®Ñªº»²§U¸ê®Æ¡C©Ò¦³ÅªªÌ³£¥i¥HÀò±o¤U­±ªº»²§U¸ê®Æ¦³Ãö¥»®Ñ±Ð»²¸ê®ÆªºÀò¨ú¤èªk½Ð°Ñ¾\®Ñ¦Z©Òªþªº¡m±Ð»²¤ä«ù»¡©ú¡n¡X¡X½sªÌª`¡C¡G
¡´ Ãö¤_OpenGLªº¸ê·½«H®§
¡´ ¦b¤j¦h¼Æ¬y¦æªº¨t²Î¤W¨Ï¥ÎOpenGL¶i¦æ½sµ{ªº¾Þ§@«ü«n
¡´ ½s¼g¨ã¦³§ó±j¾|´Î©ÊOpenGLÀ³¥Îµ{§Çªºªþ¥[§÷®Æ
¡´ µ{§Ç¥N½X
¡´ ³¡¤À²ßÃDµª®×
¡´ PowerPointÁ¿½Z
¡´ ®Ñ¤¤ªº´¡¹Ï
ÁÙ¦³¤@¨Ç»²§U¸ê®Æ¡A¥]¬A©Ò¦³«Dµ{§Ç³]­p²ßÃDªº¸Ñµª¡A¶È´£¨Ñµ¹ªö¥Î¥»®Ñ°µ±Ð§÷ªº±Ð®v¨Ï¥Î¡C½Ð»PAddisonúQWesley¥Xª©ªÀ¥N²zÁp¨t¡A¥HÀò¨ú¨Ï¥Î³o¨Ç¸ê®Æªº«H®§¡C
­PÁÂ
¦b¹L¥hªº´X¦~¤¤¡AEdward Angel¦³©¯¦b·s¾¥¦è­ô¤j¾Ç¹J¨ì¤F³\¦hÀu¨qªº¾Ç¥Í¡A¬O¥L­Ì³Ì¦­¨Ï¥L¹ïOpenGL²£¥Í¤F¿³½ì¡A±q¥L­Ì¨º¨½Edward Angel¾Ç¨ì¤F«Ü¦hªF¦è¡C³o¨Ç¾Ç¥Í¥]¬A¡GHue ¡]BumgarnerúQKirby¡^Walker¡BYe Cong¡BPat Crossno¡BTommie Daniel¡BChris Davis¡BLisa Desjarlais¡BKim Edlund¡BLee Ann Fisk¡BMaria Gallegos¡BBrian Jones¡BChristopher Jordan¡BMax Hazelrigg¡BSheryl Hurley¡BThomas Keller¡BGe Li¡BPat McCormick¡BAl McPherson¡BKen Moreland¡BMartin Muller¡BDavid Munich¡BJim Pinkerton¡BJim Prewett¡BDave Rogers¡BHal Smyer¡BTakeshi Hakamata¡BDave Vick¡BBrian Wylie ©MJin Xiong¡A³\¦h±m¹Ï¤¤ªº¨Ò¤l³£¥X¦Û³o¨Ç¾Ç¥Í¡C
¥»®Ñ²Ä¤@ª©¬OEdward Angel¦b¥ð°²´Á¶¡¼¶¼gªº¡A¥L¦b5­Ó¤£¦Pªº°ê®a§¹¦¨¤F¥»®Ñ¡C¦pªG¨S¦³­Y¤z¤H¤h¥H¤Î­Y¤z¤j¾Ç¡B¬ã¨s¾÷ºcµ¹¥L´£¨ÑªºÀ°§U¡A¸Ó®Ñ¬O§¹¤£¦¨ªº¡A¥L­Ìµ¹¥L´£¨Ñ¤F«K§Q¡C°J¤ß·PÁ©e¤º·ç©Ô¦w²Ä´µ¤j¾Ç¡]Universidad de los Andes¡^ªºJonas Montilva©MChris Birkbeck¡B¤Ì¥Ê¦hº¸¤Ñ²y¨ª¹D²z¤u¤j¾Ç¡]Universidad Tecnologica Equinoccial¡^ªºRodrigo Gallegos©MAristides Novoa¡B¤¤°ê»OÆW²MµØ¤j¾ÇªºLong Wen Chang¡B¤¤°ê­»´ä¤¤¤å¤j¾ÇªºKin Hong Wong©MPheng Ann Heng¡CEdward Angel¨ì³\¦h¦a¤èªº°ÑÆ[³X°Ý³£±o¯q¤_°ê»Ú¶W¾É§Þ³N¤¤¤ß¡]ISTEC¡^©M·s¾¥¦è­ô¦{¤j¾Ç¡]The University of New Mexico¡^ªºRamiro JordanªºÀ°¦£¡CµL½×Edward Angel¦ó®É¦³°ÝÃD¡A·s¾¥¦è­ô¦{¤j¾ÇªºJohn Brayer©MJason Stewart¡BAddisonúQWesley¥Xª©ªÀªºHelen Goldstein³£³]ªkÀ°¥L¸Ñ¨M¡CEdward Angelªººô¯¸¤W´y­z¤F¼g§@²Ä¤@ª©ªº¸g¾ú¡C
NVIDIA¤½¥qªºDavid Kirk©MMark KilgardºB´n¦a¬°´ú¸Õ«Ü¦hºâªk´£¨Ñ¤FÅã¥d¡CÁÙÀ³·PÁ³\¦hµ¹¤©¤F·¥¤jÀ°§Uªº¤H¤h¡A¥L­Ì¬OBen Bederson¡BGonzalo Cartagenova¡BTom Caudell¡BKathi Collins¡BKathleen Danielson¡BRoger Ehrich¡BRobert Geist¡BChuck Hansen¡BMark Henne¡BBernard Moret¡BDick Nordhaus¡BHelena Saona¡BDave Shreiner¡BVicki Shreiner¡BGwen Sylvan©MMason Woo¡C©Ó»XOpenGL¨ó·|ªºMark Kilgard¡BBrian Paul©MNate Robinsªº·¥¤jÀ°§U¡A¥L­Ì½s¼g¤F¯à¨ÏOpenGL¥N½X¦b¦UºØ¥­»O¤W³£¥i¥H¶}µoªº³n¥ó¡C
·s¾¥¦è­ô¤j¾ÇªºÃÀ³N¡B¬ã¨s¡B§Þ³N©M¬ì¾Ç¹êÅç«Ç¡]ARTS Lab¡^¥H¤Î°ª©Ê¯à­pºâ¤¤¤ß¹ïEdward Angelªº³\¦h¶µ¥Ø´£¨Ñ¤F¤ä«ù¡A­pºâ¾÷¬ì¾Ç¨t¡B¬ü³N¾Ç°|ªºÃÀ³N§Þ³N¤¤¤ß¡B¬ü°ê°ê®a¬ì¾Ç°òª÷¡BSandia°ê®a¹êÅç«Ç©MLos Alamos°ê®a¹êÅç«Ç¸ê§U¤F³\¦hEdward Angelªº¾Ç¥Í©M¬ã¨s¶µ¥Ø¡A¥»®Ñªº³¡¤À¤º®e´N¨Ó¦Û³o¨Ç¬ã¨s¶µ¥Ø¤¤ªº¤@³¡¤À¡C´¿¦b¥_·¥¬P¤Ñ¤åÀ]²{¦bARTS¹êÅç«ÇªºDavid Beining¬°FullDome¶µ¥Ø´£¨Ñ¤F·¥¤jªº¤ä«ù¡ASheryl Hurley¡BChristopher Jordan¡BLaurel Ladwig¡BJon Strawn©MHue¡]BumgarnerúQKirby¡^Walker³q¹LFullDome¶µ¥Ø´£¨Ñ¤F¥»®Ñ±m¹Ï¤¤ªº¤@¨Ç¹Ï¹³¡CHue Walker¬°«e¤T­Óª©¥»³]­p¤Fºë¬üªº«Ê­±¡A¦oªºµe­±¬O¥»ª©«Ê­±ªº°ò¦¡C
¥»®Ñªº²Ä¤G§@ªÌDave Shreiner­º¥ý·PÁÂEdward AngelÁÜ¥L°Ñ»P¤F¸Ó®Ñªº¼g§@¡C§Ú­Ì©¼¦¹¥æ´«¦Û¤v¹ïOpenGLªº¬Ýªk¥H¤Î¦p¦ó¶}®i±Ð¾Ç¤w¦h¦~¡A§â¨º¨Ç·§©À±Ðµ¹·s¾Ç¥Í¬O«Ü¥O¤H¿³¾Äªº¡CDave Shreiner¤]­º¥ý·PÁ´¿¦bÖº¹Ï§Î­pºâ¾÷¨t²Î¤u§@¹Lªº¦P¨Æ­Ì¡B³Ð«ØOpenGLªº¦P¨Æ­Ì¡A¥H¤Î¤@ª½¬ã¨sAPIªºKhronos²Õ´ªºOpenGL¤u§@²Õ¡C´N¹³Edward Angel©Ò»¡¡AACM SIGGRAPHÅãµM¦b¶}µo³o¨Ç§÷®Æ¤¤°_¨ì¤F­«­n§@¥Î¡A¹ï¤_¸Ó²Õ´¯à¬°±´¯Á§Ú­Ìªº·Qªk©Ò´£¨Ñªº¼öÂI¬ã¨sÃD¥Ø¤£³Ó·P¿E¡C
µû¾\¤H¦b¥»®ÑÀ³¸Ó¥]¬A­þ¨Ç¤º®e©MÀ³¸Ó¤¶²Ð¨ì¤°¤\µ{«×³o¨â¤è­±´£¥X¤F¦UºØ¦U¼Ëªº¬Ýªk¡A¥ý«eª©¥»ªºµû¾\¤H¥]¬A¡GGur Saran Adhar¡]¥_¥dù¨Ó¯Ç¤j¾Ç«Â©ú¹y¤À®Õ¡^¡BMario Agrular¡]ªN§J»¹ºûº¸¦{¥ß¤j¾Ç¡^¡BMichael Anderson¡]«¢¯SºÖ¼w¤j¾Ç¡^¡BC¡DS¡DBauer¡]¤¤¦òù¨½¹F¤j¾Ç¡^¡BMarty Barrett¡]ªF¥Ð¯Ç¦è¦{¥ß¤j¾Ç¡^¡BKabekode V. Bhat¡]»«¤iªk¥§¨È¦{¥ß¤j¾Ç¡^¡BEric Brown©MRobert P. Burton¡]·¨§B¿«¤j¾Ç¡^¡BSam Buss¡]¥[§QºÖ¥§¨È¤j¾ÇÉo­¡¤à¤À®Õ¡^¡BKai H¡DChang ¡]¶ø¥»¤j¾Ç¡^¡BRon DiNapoli¡]±d©`º¸¤j¾Ç¡^¡BEric Alan Durant¡]±Kº¸¥Ë°ò¤uµ{¾Ç®Õ¡^¡BDavid S¡DEbert ¡]´¶«×¤j¾Ç¡^¡BRichard R. Eckert¡]»«º~©i¹y¤j¾Ç¡^¡BJianchao¡]Jack¡^ Han¡]¥[§QºÖ¥§¨È¦{¥ß¤j¾Ç¦h©ú®æ¯÷±^¤À®Õ¡^¡BChenyi Hu¡]ªüªÖ¦â¤¤¥¡¤j¾Ç¡^¡BMark Kilgard¡]NVIDIA¤½¥q¡^¡BLisa B¡DLancor¡]«n±d¯I¨f®æ¦{¥ß¤j¾Ç¡^¡BChung Lee¡]¥[¦{ªi²ö¯Ç²z¤u¤j¾Ç¡^¡BJohn L¡DLowther¡]±K·²®Ú²z¤u¤j¾Ç¡^¡BR¡DMarshall¡]ªi¤h¹y¤j¾Ç©M¾ô¤ô¤j¾Ç¡^¡BHugh C. Masterman¡]°¨¶ë½Ñ¶ë¤j¾Ç¬¥«Âº¸¤À®Õ¡^¡BBruce A¡DMaxwell¡]¥v«Â¯S¼¯º¸¾Ç°|¡^¡BJames R¡DMiller¡]³ôÂÄ´µ¤j¾Ç¡^¡BRodrigo Obando¡]­ô­Û¥¬¦{¥ß¤j¾Ç¡^¡BAndrea Salgian¡]·s¿A¦è¾Ç°|¡^¡BLori L. Scarlatos¡]¯Ã¬ù«°¥«¤j¾Ç¥¬¾|§JªL¾Ç°|¡^¡BHanúQWei Shen¡]«X¥è«X¦{¥ß¤j¾Ç¡^¡BOliver Staadt¡]¥[¦{¤j¾ÇÀ¹ºû´µ¤À®Õ¡^¡BStephen L¡DStepoway¡]«n½Ã²z¤u·|¤j¾Ç¡^¡BBill Toll¡]®õ°Ç¤j¾Ç¡^¡BMichael Wainer ¡]«n¥ì§Q¿Õ¥ì¤j¾Ç¥d¥»À¹º¸¤À®Õ¡^¡BYangWang¡]«n½Ã²z¤u·|¤j¾Ç¡^¡BSteve Warren¡]³ôÂÄ´µ¦{¥ß¤j¾Ç¡^¡BMike Way¡]¦òù¨½¹F«n¤è¾Ç°|¡^¡BGeorge Wolberg¡]¯Ã¬ù«°¥«¤j¾Ç¡^¡BXiaoyu Zhang¡]¥[¦{¦{¥ß¤j¾ÇÉo°¨¬ì´µ¤À®Õ¡^¡BYe Zhao¡]ªÖ¯S¦{¥ß¤j¾Ç¡^©MYing Zhu¡]¦õªv¨È¦{¥ß¤j¾Ç¡^¡AÁöµM³Ì¦Zªº©w½Z¥i¯à¨S¦³¤Ï¬M¥X¥L­Ìªº·N¨£¡]¦]¬°¦³¨Ç·N¨£©¼¦¹¬Û¥ª¡^¡A¦ý¨C¦ìµû¾\¤Hªº·N¨£³£Ã@µ¦µÛ§Ú­Ì¤Ï«ä®Ñ½Zªº¨C¤@­¶¤º®e¡C
¥»ª©µû¾\¤Hµ¹¤©¤F·¥¤jªºÀ°§U©M¤ä«ù¡A¥L­Ì¬O¡GNorman I. Badler¡]»«¤iªk¥§¨È¤j¾Ç¡^¡BMike Bailey¡]«X°Ç©£¦{¥ß¤j¾Ç¡^¡BBedrich Benes¡]´¶«×¤j¾Ç¡^¡BIsabelle Bichindaritz¡]µØ²±¹y¤j¾Ç¶ð¬ì°¨¤À®Õ¡^¡BCory D. Boatright¡]»«¤iªk¥§¨È¤j¾Ç¡^¡BEric Brown©MJames Cremer¡]¦ã¶ø¥Ë¤j¾Ç¡^¡BJohn David N. Dionisio¡]¬¥¬ù©Ôº¿²ú°Ò¯S¤j¾Ç¡^¡BW Randolph Franklin¡]­Û´µ°Ç²z¤u¾Ç°|¡^¡BNatacha Gueorguieva¡]¯Ã¬ù«°¥«¤j¾Ç/¯Ã¬ù¥«¥ß¤j¾Ç´µ©Z¹y®q¾Ç°|¡^¡BGeorge Kamberov¡]¥v¸¦¤å´µ²z¤u¾Ç°|¡^¡BHugh Masterman¡]°¨¶ë½Ñ¶ë¤j¾Ç¬¥«Âº¸¤À®Õ¡^¡BTim McGraw¡]¦è¥±¦N¥§¨È¤j¾Ç¡^¡BJon A. Preston¡]«n¤è²z¤u¤j¾Ç¡^©MBill Toll¡]®õ°Ç¤j¾Ç¡^¡C½Ð¥L­Ìµû¾\¥»®Ñ¦}¤£¬O¥L­Ìªº½Ò¤º¤§¨Æ¡A­Y­n¾AÀ³¥»®Ñ´N±o©úÅã¦aÅÜ°Ê¥L­Ìªº½Òµ{¡A¥L­Ì¨C¦ì³£»{ÃѨì§Ú­Ì¤èªkªº­«­n©Ê¡A¦}º@·Nªö¥Î¥»±Ð§÷¡C
§Ú­Ì¦P¼Ë·PÁÂAddisonúQWesley¥Xª©ªÀªº¾ã­Ó¥Xª©¹Î¶¤¡C¦b¥»®Ñªº6­Óª©¥»©M¡mOpenGLµ{§Ç³]­p«ü«n¡nªº¥Xª©¹Lµ{¤¤¡AEdward Angel»PPeter Gordon¡BMaite SuarezúQRivas©MMatt Goldstein¤T¦ì½s¿è¦X§@±o«D±`´r§Ö¡C¦b¥»®Ñ¥þ³¡6­Óª©¥»ªº¥Xª©®É¡APaul Anagnostopoulos¤@ª½À°§U¸Ñ¨M¨Ï¥ÎWindfall Software ¤u¨ã®Éªº±Æª©°ÝÃD¡AÀ°§U¤§¤j·¸¤_¨¥ªí¡CEdward Angel­n¯S§O·PÁ½s¿èLyn Dupre¡A¦pªGŪªÌ¬Ý¨ì²Ä¤@ª©ªº­ì½Z¡A´N·|Åå¹Ä¤_Lyn Dupreªº§®µ§¯«¥\¡C
Edward Angel¦b¦¹­n¯S§O»ïÁ©d¤lRose Mary Molnar¡A¦o¬°¥»®Ñ²Ä¤@ª©¨î§@¤F´¡¹Ï¡A¨ä¤¤³\¦h´¡¹Ïºc¦¨¤F¥»®Ñ´¡¹Ïªº°ò¦¡C¤]³\¥u¦³¸g¾ú¹L¹Ï®Ñ¥Xª©¹Lµ{¦}¼¶¼g¹L³\¦h¤å½Zªº¤H¥H¤Î¬°¥Xª©¤u§@°µ¥X¹L°^Ämªº¤H¤~¯à¥R¤À²z¸Ñ¼g®Ñ¹Lµ{ªºÁ}¨¯¡C¯u¸Û¦a§â¥»®ÑÄmµ¹Rose Mary¡AºÉºÞ³o¤´¤£¨¬¥Hªí¹FEdward Angel¹ï©d¤l©Ò¦³°^ÄmªºÁ·N¡C
Dave Shreiner·P¿E©d¤lVickiªº¤ä«ù©M¹ªÀy¡A¨S¦³¦o¡A¥»®Ñ³Ð³y©Êªº¦¨ªG¤£·|®i²{µ¹ÅªªÌ¡A¦o¤£¶Èµ¹¤©Dave Shreiner·Å·x¡A³­¦ñ¥ª¥k¡A¦Ó¥B¹ï¥»®Ñªº´y­z©M¯À§÷´£¥X¤F¬Ã¶Q·N¨£¡C¦bDave Shreiner¹ïOpenGLªº©Ò¦³¬ã¨s¤¤¡A¦o³£ºÙ±o¤W¬O¤@­Ó¤£¥i¦h±oªº¹õ¦Z·fÀÉ¡C

Edward Angel
Dave Shreiner
¤º®e²¤¶¡G

¥»®Ñªö¥Î¦Û³»¦V¤Uªº¤èªk¦}»²¥H­±¦V½sµ{ªº¤è¦¡¡A°ò¤_²{¥N¥i½sµ{GPUªºµÛ¦â¾¹½sµ{¡A¨Ï¥ÎC++»y¨¥¡BOpenGLµÛ¦â»y¨¥¡]GLSL¡^¦}µ²¦XOpenGL¨t²Î¦a¤¶²Ð¤F²{¥N­pºâ¾÷¹Ï§Î¾Çªº®Ö¤ß·§©À¡B­ì²z©M¤èªk¡C¥»®Ñ¬O§@ªÌ¦h¦~¨Ó±Ð¾Ç»P¬ì¬ã¤u§@ªºÁ`µ²¡A²[»\¤F°ò¤_OpenGLµÛ¦â¾¹ªº¥æ¤¬¦¡¹Ï§Î½sµ{¡B¤Tºû¥i½sµ{ø¨î¬y¤ô½u¡BÅÜ´«»PÆ[¹î¡B¥ú·Ó»P©ú·tø¨î¡B¦±½u¦±­±«Ø¼Òµ¥°ò¥»ªº­pºâ¾÷¹Ï§Î¾Ç¤º®e¥H¤ÎÂ÷´²§Þ³N¡B¼h¯Å«Ø¼Ò¡B¹Lµ{«Ø¼Ò¡B¥ú½u¸òÂÜ¡B¦}¦æø¨î©MÅéø¨îµ¥°ª¯Å¤º®e¡A¦}¬°ÅªªÌ¶i¤@¨B²`¤J¾Ç²ß©M¬ã¨s¡A¦b¨C³¹¦Z­±´£¨Ñ¤F¬ÛÃöªº«Øij¾\Ū¸ê®Æ¡C
¥»®Ñ²Ä¤»ª©¶i¤@¨B¤Ï¬M¤F­pºâ¾÷¹Ï§Î¾Çªº³Ì·sµo®i²{ª¬¡A­±¦V¹Ï§ÎÀ³¥Î¶}µo¦}»²¥H¤j¶qªº¥Ü¨Ò©M§¹¾ãªº·½¥N½X¡A¬O¤@¥»¡§°ò¦©Ê»P¥ý¶i©Ê¡B²z½×©Ê»PÀ³¥Î©Ê¡B¬ì¾Ç©Ê»P³q«U©Ê¡¨¬Ûµ²¦Xªº¤º®e¥þ­±¦Ó¤S¨t²Îªº°ê¥~¸g¨å­pºâ¾÷¹Ï§Î¾Ç±Ð§÷¡C

¥Ø¿ý¡G

²Ä1³¹ ¹Ï§Î¨t²Î©M¼Ò«¬
1.1 ­pºâ¾÷¹Ï§Î¾ÇªºÀ³¥Î
1.2 ¹Ï§Î¨t²Î
1.3 ª«²z¹Ï¹³»P¦X¦¨¹Ï¹³
1.4 ¦¨¹³¨t²Î
1.5 µêÀÀ·Ó¬Û¾÷¼Ò«¬
1.6 À³¥Îµ{§Ç½sµ{±µ¤f
1.7 ¹Ï§Îø¨î¨t²ÎªºÅé¨tµ²ºc
1.8 ¥i½sµ{¬y¤ô½u
1.9 ©Ê¯à¯S©º
¤pµ²©Mª`ÄÀ
«Øij¾\Ū¸ê®Æ
²ßÃD
²Ä2³¹ ¹Ï§Î¾Ç½sµ{
2.1 SierpinskiÃó¹Ô
2.2 ½s¼g¤Gºû¹Ï§ÎÀ³¥Îµ{§Ç
2.3 OpenGLÀ³¥Îµ{§Ç½sµ{±µ¤f
2.4 ¹Ï¤¸©MÄÝ©Ê
2.5 ÃC¦â
2.6 Æ[¹î
2.7 ±±¨î¨ç¼Æ
2.8 SierpinskiÃó¹Ôø¨îµ{§Ç
2.9 ¦hÃä§Î©M»¼Âk
2.10 ¤TºûSierpinskiÃó¹Ô
2.11 ¼W¥[¥æ¤¬©Ê
2.12 µæ³æ
¤pµ²©Mª`ÄÀ
«Øij¾\Ū¸ê®Æ
²ßÃD
²Ä3³¹ ´X¦ó¹ï¶H©MÅÜ´«
3.1 ¼Ð¶q¡BÂI©M¦V¶q
3.2 ¤Tºû¹Ï¤¸
3.3 §¤¼Ð¨t©M¼Ð¬[
3.4 OpenGL¤¤ªº¼Ð¬[
3.5 ¯x°}©M¦V¶qÃþ
3.6 «Ø¼Ò¤@­Ó±m¦â¥ß¤èÅé
3.7 ¥é®gÅÜ´«
3.8 ¥­²¾¡B±ÛÂà©MÁY©ñ
3.9 ÅÜ´«ªº»ô¦¸§¤¼Ðªí¥Ü
3.10 ÅÜ´«ªº¯ÅÁp
3.11 OpenGLÅÜ´«¯x°}
3.12 ¨Ï¥ß¤èÅé±ÛÂà°_¨Ó
3.13 ¤TºûÀ³¥Îµ{§Çªº±µ¤f
3.14 ¥|¤¸¼Æ
¤pµ²©Mª`ÄÀ
«Øij¾\Ū¸ê®Æ
²ßÃD
²Ä4³¹ Æ[¹î
4.1 ¸g¨åÆ[¹î©M­pºâ¾÷Æ[¹î
4.2 ­pºâ¾÷Æ[¹î
4.3 ©w¦ì·Ó¬Û¾÷
4.4 ¥­¦æ§ë¼v
4.5 ³zµø§ë¼v
4.6 OpenGL¤¤ªº³zµø§ë¼v
4.7 ³zµø§ë¼vÅÜ´«¯x°}
4.8 ÁôÂí±®ø°£
4.9 Åã¥Üºô®æ
4.10 §ë¼v©M³±¼v
¤pµ²©Mª`ÄÀ
«Øij¾\Ū¸ê®Æ
²ßÃD
²Ä5³¹ ¥ú·Ó©M©ú·tø¨î
5.1 ¥ú½u©M§÷½è
5.2 ¥ú·½
5.3 Phong¤Ï®g¼Ò«¬
5.4 ­pºâ¦V¶q
5.5 ¦hÃä§Îªº©ú·tø¨î
5.6 ³q¹L»¼Âk²Ó¤À¹Gªñ²y­±
5.7 «ü©w¥ú·Ó°Ñ¼Æ
5.8 ¹ê²{¥ú·Ó¼Ò«¬
5.9 ²y­±¼Ò«¬ªº©ú·tø¨î
5.10 °ò¤_¨C­Ó¤ù¤¸ªº¥ú·Ó­pºâ
5.11 ¥þ§½¥ú·Ó
¤pµ²©Mª`ÄÀ
«Øij¾\Ū¸ê®Æ
²ßÃD
²Ä6³¹ ±q³»ÂI¨ì¤ù¤¸
6.1 ¹Ï§Îø¨î¬y¤ô½uªº°ò¥»¹ê²{µ¦²¤
6.2 ¹Ï§Îø¨î¨t²Îªº¥|­Ó¥D­n¥ô°È
6.3 µô°Å
6.4 ½u¬qªºµô°Å
6.5 ¦hÃä§Îªºµô°Å
6.6 ¨ä¥L¹Ï¤¸ªºµô°Å
6.7 ¤Tºûµô°Å
6.8 ¥ú¬]¤Æ
6.9 Bresenhamºâªk
6.10 ¦hÃä§Î¥ú¬]¤Æºâªk
6.11 ÁôÂí±®ø°£
6.12 ¤Ï¨«¼Ë
6.13 Åã¥Ü¤è­±ªº°ÝÃD
¤pµ²©Mª`ÄÀ
«Øij¾\Ū¸ê®Æ
²ßÃD
²Ä7³¹ Â÷´²§Þ³N
7.1 ½w¦s
7.2 ¼Æ¦r¹Ï¹³
7.3 ½w¦sªº¼g¾Þ§@
7.4 ¬M®g¤èªk
7.5 ¯¾²z¬M®g
7.6 OpenGLªº¯¾²z¬M®g
7.7 ¯¾²z¥Í¦¨
7.8 Àô¹Ò¶K¹Ï
7.9 ¤Ï®g¶K¹Ï¥Ü¨Òµ{§Ç
7.10 ¥W¥Y¬M®g
7.11 ¦X¦¨§Þ³N
7.12 ªö¼Ë»P¨«¼Ë
¤pµ²©Mª`ÄÀ
«Øij¾\Ū¸ê®Æ
²ßÃD
²Ä8³¹ ¼h¯Å«Ø¼Ò¤èªk
8.1 ¹Ï²Å©M¹ê¨Ò
8.2 ¼h¯Å¼Ò«¬
8.3 ¾÷¾¹¤H¤âÁu
8.4 ¾ð»P¾ðªº¹M¾ú
8.5 ¨Ï¥Î¾ð§Î¼Æ¾Úµ²ºc
8.6 °Êµe
8.7 ¹Ï§Î¹ï¶H
8.8 ³õ´º¹Ï
8.9 ¶}©ñ³õ´º¹Ï
8.10 ¹Ï§Î©M¦]¯Sºô
8.11 ¨ä¥L¾ð§Îµ²ºc
¤pµ²©Mª`ÄÀ
«Øij¾\Ū¸ê®Æ
²ßÃD
²Ä9³¹ ¹Lµ{«Ø¼Ò¤èªk
9.1 °ò¤_ºâªkªº«Ø¼Ò
9.2 °ò¤_ª«²zªº«Ø¼Ò©M²É¤l¨t²Î
9.3 ¤û¹y²É¤l
9.4 ¨D¸Ñ²É¤l¨t²Î¤èµ{
9.5 ¬ù§ô±ø¥ó
9.6 ¤@­Ó²³æªº²É¤l¨t²Î
9.7 °ò¤_»y¨¥ªº«Ø¼Ò
9.8 »¼Âk¤èªk©M¤À§Î
9.9 ¹Lµ{¾¸Án
¤pµ²©Mª`ÄÀ
«Øij¾\Ū¸ê®Æ
²ßÃD
²Ä10³¹ ¦±½u©M¦±­±
10.1 ¦±½u©M¦±­±ªºªí¥Ü§Î¦¡
10.2 ³]­p·Ç«h
10.3 ¤T¦¸°Ñ¼Æ¦h¶µ¦¡¦±½u
10.4 ´¡­È
10.5 Hermite¦±½u©M¦±­±
10.6 Bezier¦±½u©M¦±­±
10.7 ¤T¦¸B¼Ë±ø
10.8 ´¶³qB¼Ë±ø
10.9 ¦±½u©M¦±­±ªºÃ¸¨î
10.10 Utah¯ù³ý¼Ò«¬
10.11 ¥N¼Æ¦±­±
10.12 ¦±½u©M¦±­±ªº²Ó¤À
10.13 ±q¼Æ¾Ú¥Í¦¨ºô®æ
¤pµ²©Mª`ÄÀ
«Øij¾\Ū¸ê®Æ
²ßÃD
²Ä11³¹ °ª¯Åø¨î
11.1 ¶W¶V¬y¤ô½uø¨îµ²ºc
11.2 ¥ú½u¸òÂÜ
11.3 ºc«Ø¤@­Ó²³æªº¥ú½u¸òÂܾ¹
11.4 ø¨î¤èµ{
11.5 ¿ç®g«×¤èªk
11.6 RenderMan
11.7 ¦}¦æø¨î
11.8 Åéø¨î
11.9 µ¥­È­±»P¨B¶i¥ß¤èÅé
11.10 ºô®æ²¤Æ
11.11 ª½±µÅéø¨î
11.12 °ò¤_¹Ï¹³ªºÃ¸¨î
¤pµ²©Mª`ÄÀ
«Øij¾\Ū¸ê®Æ
²ßÃD
ªþ¿ýA ¥Ü¨Òµ{§Ç
A.1 µÛ¦â¾¹ªì©l¤Æ¨ç¼Æ
A.2 SierpinskiÃó¹Ôµ{§Ç
A.3 »¼Âk¹ê²{SierpinskiÃó¹Ôµ{§Ç
A.4 ¦bµÛ¦â¾¹¤¤¹ê²{¥ß¤èÅ骺±ÛÂà
A.5 ³zµø§ë¼v
A.6 ±ÛÂàµÛ¦âªº¥ß¤èÅé
A.7 ¹ï²y­±¼Ò«¬°õ¦æ°ò¤_¨C­Ó¤ù¤¸ªº¥ú·Ó­pºâ
A.8 ±a¯¾²zªº¥ß¤èÅé±ÛÂàµ{§Ç
A.9 °ò¤_¾ð§Îµ²ºcªº¾÷¾¹¤Hø¨îµ{§Ç
A.10 ¯ù³ýø¨îµ{§Ç
ªþ¿ýB ªÅ¶¡
B.1 ¼Ð¶q
B.2 ¦V¶qªÅ¶¡
B.3 ¥é®gªÅ¶¡
B.4 EuclidªÅ¶¡
B.5 §ë¼v
B.6 GRAMúQSCHMIDT¥¿¥æ¤Æ
«Øij¾\Ū¸ê®Æ
²ßÃD
ªþ¿ýC ¯x°}
C.1 ©w¸q
C.2 ¯x°}ªº¹Bºâ
C.3 ¦æ¯x°}©M¦C¯x°}
C.4 ¯´
C.5 ªí¥ÜªºÅÜ´«
C.6 ¤e¿n
C.7 ¯S©º­È©M¯S©º¦V¶q
C.8 ¦V¶q©M¯x°}Ãþ
«Øij¾\Ū¸ê®Æ
²ßÃD
ªþ¿ýD OpenGL¨ç¼Æ¤@Äý
D.1 ªì©l¤Æ©Mµ¡¤f¨ç¼Æ
D.2 ³»ÂI½w¨R°Ï¹ï¶H
D.3 ¥æ¤¬¨ç¼Æ
D.4 Äݩʳ]¸m©M¥\¯à¶}±Ò¨ç¼Æ
D.5 ¯¾²z©M¹Ï¹³¨ç¼Æ
D.6 ª¬ºA©M½w¦s¾Þ§@¨ç¼Æ
D.7 ¬d¸ß¨ç¼Æ
D.8 GLSL¨ç¼Æ
°Ñ¦Ò¤åÄm
§Ç¡G