-- ·|­û / µù¥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¤ÀÃþ

OpenGL ES 2.0´åÀ¸¶}µo(¤W¨÷)¡G°ò¦§Þ³N©M¨å«¬®×¨Ò

( ²Åé ¦r)
§@ªÌ¡G§d¨È®pÃþ§O¡G1. -> ¦h´CÅé -> OpenGL
ĶªÌ¡G
¥Xª©ªÀ¡G¤H¥Á¶l¹q¥Xª©ªÀOpenGL ES 2.0´åÀ¸¶}µo(¤W¨÷)¡G°ò¦§Þ³N©M¨å«¬®×¨Ò 3dWoo®Ñ¸¹¡G 37795
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

¡i¯Ê®Ñ¡j
NT°â»ù¡G 395 ¤¸

¥Xª©¤é¡G3/1/2014
­¶¼Æ¡G467
¥úºÐ¼Æ¡G1
¯¸ªø±ÀÂË¡G
¦L¨ê¡G¶Â¥Õ¦L¨ê»y¨t¡G ( ²Åé ª© )
¥[¤JÁʪ«¨® ¢x¥[¨ì§Úªº³Ì·R
(½Ð¥ýµn¤J·|­û)
ISBN¡G9787115339164
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç
(²Åé®Ñ¤W©Ò­z¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, ­YŪªÌ»Ý­n½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ)
§@ªÌ§Ç¡G

ĶªÌ§Ç¡G

«e¨¥¡G

¤º®e²¤¶¡G

¡@¡@¡mOpenGL ES 2.0´åÀ¸¶}µo(¤W¨÷)¡G°ò¦§Þ³N©M¨å«¬®×¨Ò¡n¦@¤À¬°17³¹¡A¤º®e«ö·Ó¥²ª¾¥²·|ªº°ò¦ª¾ÃÑ¡B°ò¤_OpenGL ES 2.0¹ê²{°ò¥»¯S®Ä¥H¤Î¯u¹ê¤j«¬´åÀ¸®×¨Òªº¶¶§Ç¶i¦æ¸Ô²Ó¦aÁ¿¸Ñ¡C¥D­n¤º®e¦p¤U¡GOpenGLªº´è¬VºÞ½u¡BµÛ¦â»y¨¥(Shading Language)¡B§ë¼v¤Î¦UºØÅÜ´«¡BOpenGL ES 2.0¤¤¥ú·Óªº°ò¥»­ì²z»P¹ê²{¡B¯¾²z¬M®gªº°ò¥»­ì²z»P¨Ï¥Î¡B¦UºØ3D°ò¥»§Îª¬ªº­ì²z»P¹ê²{¡B3D¼Ò«¬¥[¸ü¡B²V¦X¤ÎÃúªº°ò¥»­ì²z»P¨Ï¥Î¡B3D¶}µo§Þ¥©(¥]¬A¼Ð§Óª©¡B¦Ç«×¹Ï¦a§Î¡B²É¤l¨I¿n¦a§Î¡B¤ÑªÅ²°»P¤ÑªÅªÆ¡BÃè¹³§Þ³N¡B°ÊºA¤å¥»¿é¥X¥H¤Î«D¯u¹ê·Pø¨îµ¥¤@¨Ç±`¥Îªº3D¶}µo§Þ¥©)¡B°Åµô»P´ú¸Õ¡BAndroid¤¤¦UºØ¶Ç·P¾¹ªº¨Ï¥Î¡A¥H¤ÎNDK¤ÎiOS¥­»O¤UªºOpenGL ES¶}µo¡A¦P®ÉÁÙ¤¶²Ð¤F¦p¦ó¦b¤£¦Pªº¥­»O¶¡¶i¦æ3DÀ³¥Îªº²¾´Ó¡FWebGL 3DÀ³¥Î¶}µo¡A¦p¦ó±N3DÀ³¥Î²¾´Ó¨ìWebGL¥­»O¡C³Ì¦Z¥Î¨â¤j§¹¾ã®×¨Ò©]ÆN¦æ°Ê©MBNÁɸ¥³e¬ï¾ã¥»®Ñªº¹ê¾Ôª¾ÃÑ¡A¯u¥¿À°§UŪªÌ¾Ç¥H­P¥Î¡C
¡@¡@¡mOpenGL ES 2.0´åÀ¸¶}µo(¤W¨÷)¡G°ò¦§Þ³N©M¨å«¬®×¨Ò¡n¤¤¦bµ¹¥X¹ê»Úªº¶}µo®×¨Ò®É¯A¤Î¤FAndroid SDK¡BAndroid NDK¡BiOS¡BWebGLµ¥¥D¬y¥­»O¡A®Ñ¤¤Ãö¤_¥i½sµ{´è¬VºÞ½uµÛ¦â¾¹ªºª¾ÃÑ»P§Þ³NÁÙ¥i¥H³q¥Î¤_¥]¬AWindows Phone¡BMeeGO¡BPSP¡BPlayStationµ¥²¾°Ê´O¤J¦¡¥­»O¡C
¡@¡@¡mOpenGL ES 2.0´åÀ¸¶}µo(¤W¨÷)¡G°ò¦§Þ³N©M¨å«¬®×¨Ò¡n¾A¦Xªì¾ÇªÌ¡B²¾°Ê¶}µoªÌ¡B´åÀ¸¶}µoªÌ¡Bµ{§Ç­û¾Ç²ß¡A¤]¾A¦X¤j¤¤±M°|®Õªº¬ÛÃö±M·~ªº®v¥Í¥Î®Ñ©M°ö°V¾Ç®Õªº±Ð§÷¡C
¥Ø¿ý¡G

²Ä1³¹¡@ªìÃÑÃf¤s¯u­±¥Ø¡X¡XAndroid·§Äý¡@1
1.1¡@´¼¯à¤â¾÷¥«³õ²{ª¬¡@1
1.1.1¡@5¤j´¼¯à¤â¾÷¾Þ§@¨t²Î¡@1
1.1.2¡@´¼¯à¤â¾÷¥«³õªº·s¬P¡@1
1.2¡@Android¥­»Oªº¯SÂI¤Î¥¼¨ÓªºÁͶա@2
1.2.1¡@¥þ·s²z©À±a¨ÓªºÅéÅç­·¼É¡@2
1.2.2¡@¤¤°ê¤â¾÷¥«³õªº¥D¾É©Ê§@¥Î¡@2
1.2.3¡@¤â¾÷3D´åÀ¸©MÀ³¥Î¼Wªø¨³³t¡@3
1.3¡@¦p¦ó·f«ØAndroid¶}µoÀô¹Ò¡@3
1.3.1¡@JDKªº¦w¸Ë¤ÎÀô¹Ò°t¸m¡@3
1.3.2¡@Eclipse¶°¦¨¶}µoÀô¹Òªº·f«Ø¡@5
1.3.3¡@³Ð«Ø¦}±Ò°Ê¼ÒÀÀ¾¹¡@6
1.4¡@Hello AndroidÀ³¥Îµ{§Çªº¶}µo¡@9
1.4.1¡@²Ä¤@­ÓAndroidÀ³¥Îµ{§Ç¡@9
1.4.2¡@AndroidÀ³¥Îµ{§Çªº¶µ¥Øµ²ºc¡@12
1.4.3¡@AndroidÀ³¥Îµ{§Çªº½Õ¸Õ¡@13
1.4.4¡@¹ê»Ú³]³ÆªºÁp¾÷½Õ¸Õ¡@15
1.5¡@¤w¦³Android¶µ¥Øªº¾É¤J©M¹B¦æ¡@15
1.5.1¡@¶µ¥Øªº¾É¤J¡@15
1.5.2¡@À³¥Îµ{§Çªº¹B¦æ¡@16
1.6¡@AndroidÀ³¥Îµ{§Ç¹B¦æªº¾÷¨î¡@16
1.6.1¡@À³¥Îµ{§Çªº¨t²Î¬[ºc¡@17
1.6.2¡@À³¥Îµ{§Ç®Ø¬[¡@17
1.6.3¡@Android¹B¦æ®É¡@18
1.6.4¡@¨t²Î®w¡@18
1.6.5¡@©³¼hLinux¤º®Ö¡@19
1.7¡@¥»³¹¤pµ²¡@19

²Ä2³¹¡@´åÀ¸¶}µo¬ÛÃöAndroidª¾ÃÑ¡X¡X­µ®Ä¡B¦sÀx¡BÂŤúµ¥¡@20
2.1¡@´åÀ¸¤¤ªº­µ®Ä¡@20
2.1.1¡@´åÀ¸¤¤ªº§Y®É­µ®Ä¡@20
2.1.2¡@§Y®É­µ®Äªº¤@­Ó®×¨Ò¡@21
2.1.3¡@­I´º­µ¼Ö¼½©ñ§Þ³N¡@23
2.1.4¡@²©ö­µ¼Ö¼½©ñ¾¹ªº¹ê²{¡@25
2.2¡@²³æ¼Æ¾Úªº¦sÀx¡X¡XPreferences¡@28
2.2.1¡@Preferences²¤¶¡@28
2.2.2¡@Preferences¹ê²{³X°Ý®É¶¡ªº°O¿ý¡@28
2.3¡@¤â¾÷¦Û±a¼Æ¾Ú®w¡X¡XSQLite¡@29
2.3.1¡@ªìÃÑSQLite¡@29
2.3.2¡@SQLite¼Æ¾Ú®wªº°ò¥»¾Þ§@¡@30
2.3.3¡@SQLite¼Æ¾Ú®wªºÂ²³æ®×¨Ò¡@31
2.3.4¡@¨Ï¥ÎContentProvider²Õ¥ó¦@¨É¼Æ¾Ú¡@34
2.3.5¡@¨Ï¥ÎContentResolverÀò¨ú¤À¨É¼Æ¾Ú¡@35
2.4¡@¤å¥óI/O¡@37
2.4.1¡@³X°ÝSD¥d¤¤ªº¤å¥ó¡@37
2.4.2¡@³X°Ý¤â¾÷¤¤ªº¤å¥ó§¨¡@38
2.4.3¡@Ū¨úassets¤å¥ó§¨¤Uªº¤º®e¡@40
2.5¡@2D°Êµeªº¶}µo¡@41
2.5.1¡@SurfaceView¥Îªk²¤¶¡@42
2.5.2¡@¨Ï¥ÎSurfaceView¹ê²{2D°Êµe¡@42
2.6¡@Socketºôµ¸³q«H¡@47
2.6.1¡@Socket¶}µo°ò¥»ª¾ÃÑ¡@47
2.6.2¡@ªA°È¾¹ºÝ¡@47
2.6.3¡@«È¤áºÝ¡@48
2.7¡@ÂŤú³q«H¡@49
2.7.1¡@ÂŤú³q«Hªº°ò¥»ª¾ÃÑ¡@49
2.7.2¡@²á¤Ñ®×¨Ò·§Äý¡@50
2.7.3¡@²á¤Ñ®×¨Òªº¶}µo¹Lµ{¡@51
2.8¡@¥»³¹¤pµ²¡@62

²Ä3³¹¡@ªìÃÑOpenGL ES 2.0¡@63
3.1¡@OpenGL ES 2.0·§­z¡@63
3.1.1¡@OpenGL ES 2.0²¤¶¡@63
3.1.2¡@ªìÃÑOpenGL ES 2.0À³¥Îµ{§Ç¡@66
3.2¡@µÛ¦â¾¹»P´è¬VºÞ½u¡@74
3.2.1¡@OpenGL ES 1.xªº´è¬VºÞ½u¡@74
3.2.2¡@OpenGL ES 2.0ªº´è¬VºÞ½u¡@78
3.2.3¡@OpenGL ES¤¤¥ßÅ骫Å骺ºc«Ø¡@81
3.3¡@¥D¬yAndroid¤â¾÷GPU¤j¤ñ«÷¡@82
3.3.1¡@¤â¾÷GPU¥|¤j®a±Ú¹ï¤ñ¡@82
3.3.2¡@¥D¬yGPUªº©Ê¯à°Ñ¼Æ¤ñ¸û¡@86
3.4¡@¥»³¹¤pµ²¡@87

²Ä4³¹¡@µÛ¦â»y¨¥¡@88
4.1¡@µÛ¦â»y¨¥(Shading Language)·§­z¡@88
4.2¡@µÛ¦â»y¨¥°ò¦¡@88
4.2.1¡@¼Æ¾ÚÃþ«¬·§­z¡@89
4.2.2¡@¼Æ¾ÚÃþ«¬ªº°ò¥»¨Ï¥Î¡@93
4.2.3¡@¹Bºâ²Å¡@94
4.2.4¡@Ãþ«¬Âà´«¡@96
4.2.5¡@­­©w²Å¡@97
4.2.6¡@¬yµ{±±¨î¡@100
4.2.7¡@¨ç¼ÆªºÁn©ú»P¨Ï¥Î¡@102
4.2.8¡@¤ù¤¸µÛ¦â¾¹¤¤¯BÂIÅܶqºë«×ªº«ü©w¡@103
4.2.9¡@µ{§Çªº°ò¥»µ²ºc¡@103
4.3¡@¯S®íªº¤º«ØÅܶq¡@104
4.3.1¡@³»ÂIµÛ¦â¾¹¤¤ªº¤º«ØÅܶq¡@104
4.3.2¡@¤ù¤¸µÛ¦â¾¹¤¤ªº¤º«ØÅܶq¡@104
4.4¡@µÛ¦â»y¨¥ªº¤º¸m¨ç¼Æ¡@105
4.4.1¡@¨¤«×Âà´«»P¤T¨¤¨ç¼Æ¡@106
4.4.2¡@«ü¼Æ¨ç¼Æ¡@106
4.4.3¡@±`¨£¨ç¼Æ¡@107
4.4.4¡@´X¦ó¨ç¼Æ¡@110
4.4.5¡@¯x°}¨ç¼Æ¡@111
4.4.6¡@¦V¶qÃö¨t¨ç¼Æ¡@112
4.4.7¡@¯¾²zªö¼Ë¨ç¼Æ¡@112
4.4.8¡@·L¤À¨ç¼Æ¡@113
4.5¡@¥Îinvariant­×¹¢²ÅÁקK­ÈÅÜ°ÝÃD¡@114
4.6¡@¥»³¹¤pµ²¡@115

²Ä5³¹¡@¥²ª¾¥²·|ªº3D¶}µoª¾ÃÑ¡X¡X§ë¼v¤Î¦UºØÅÜ´«¡@116
5.1¡@Äá¹³¾÷ªº³]¸m¡@116
5.2¡@¨âºØ§ë¼v¤è¦¡¡@117
5.2.1¡@¥¿¥æ§ë¼v¡@117
5.2.2¡@³zµø§ë¼v¡@123
5.3¡@¦UºØÅÜ´«¡@126
5.3.1¡@°ò¥»ÅÜ´«ªº¬ÛÃö¼Æ¾Çª¾ÃÑ¡@126
5.3.2¡@¥­²¾ÅÜ´«¡@126
5.3.3¡@±ÛÂàÅÜ´«¡@129
5.3.4¡@ÁY©ñÅÜ´«¡@130
5.3.5¡@°ò¥»ÅÜ´«ªº¹ê½è¡@131
5.4¡@©Ò¦³ÅÜ´«ªº§¹¾ã¬yµ{¡@132
5.5¡@ø¨î¤è¦¡¡@135
5.5.1¡@¦UºØø¨î¤è¦¡·§Äý¡@135
5.5.2¡@ÂI»P½u¬qø¨î¤è¦¡¡@137
5.5.3¡@¤T¨¤§Î±ø±a»P®°­±Ã¸¨î¤è¦¡¡@138
5.5.4¡@³»ÂIªk»P¯Á¤Þªk¡@142
5.6¡@³]¸m¦X²zªºµø¨¤¡@144
5.7¡@¨÷¶©M­I­±°Åµô¡@149
5.7.1¡@°ò¥»ª¾ÃÑ¡@149
5.7.2¡@¤@­Ó²³æªº®×¨Ò¡@150
5.8¡@¥»³¹¤pµ²¡@152

²Ä6³¹¡@Åý³õ´º§ó¹G¯u¡X¡X¥ú·Ó®ÄªG¡@153
6.1¡@¦±­±ª«Å骺ºc«Ø¡@153
6.1.1¡@²yÅéºc«Øªº°ò¥»­ì²z¡@153
6.1.2¡@®×¨Ò®ÄªG·§Äý¡@154
6.1.3¡@¶}µo¨BÆJ¡@154
6.2¡@°ò¥»¥ú·Ó®ÄªG¡@157
6.2.1¡@¥ú·Óªº°ò¥»¼Ò«¬¡@157
6.2.2¡@Àô¹Ò¥ú¡@158
6.2.3¡@´²®g¥ú¡@159
6.2.4¡@Ãè­±¥ú¡@163
6.2.5¡@¤TºØ¥ú·Ó³q¹Dªº¦X¦¨¡@167
6.3¡@©w¦ì¥ú»P©w¦V¥ú¡@168
6.4¡@ÂIªk¦V¶q©M­±ªk¦V¶q¡@171
6.5¡@¥ú·Óªº¨C³»ÂI­pºâ»P¨C¤ù¤¸­pºâ¡@173
6.6¡@¥»³¹¤pµ²¡@175

²Ä7³¹¡@§ó¥[»Å¬¯ªº3D®ÄªG¡X¡X¯¾²z¬M®g¡@176
7.1¡@ªìÃѯ¾²z¬M®g¡@176
7.1.1¡@°ò¥»­ì²z¡@176
7.1.2¡@¯¾²z¬M®gªºÂ²³æ®×¨Ò¡@177
7.2¡@¯¾²z©Ô¦ù¡@182
7.2.1¡@¨âºØ©Ô¦ù¤è¦¡·§Äý¡@182
7.2.2¡@¤£¦P©Ô¦ù¤è¦¡ªº®×¨Ò¡@183
7.3¡@¯¾²zªö¼Ë¡@186
7.3.1¡@¯¾²zªö¼Ë·§­z¡@186
7.3.2¡@³ÌªñÂIªö¼Ë¡@186
7.3.3¡@½u©Ê¯¾²zªö¼Ë¡@187
7.3.4¡@MIN»PMAGªö¼Ë¡@189
7.3.5¡@¤£¦P¯¾²zªö¼Ë¤è¦¡ªº®×¨Ò¡@189
7.4¡@mipmap¯¾²z§Þ³N¡@193
7.5¡@¦h­«¯¾²z»P¹Lµ{¯¾²z¡@194
7.5.1¡@®×¨Ò·§Äý¡@194
7.5.2¡@±N2D¯¾²z¬M®g¨ì²y­±¤Wªºµ¦²¤¡@195
7.5.3¡@®×¨Òªº³õ´ºµ²ºc¡@196
7.5.4¡@¶}µo¹Lµ{¡@197
7.6¡@À£ÁY¯¾²zªº¨Ï¥Î¡@203
7.7¡@¥»³¹¤pµ²¡@205

²Ä8³¹¡@Â×´Iªº¥ßÅé§Îª¬¡X¡X3D°ò¥»§Îª¬ªººc«Ø¡@206
8.1¡@¶ê¬WÅé¡@206
8.1.1¡@³»ÂI­ì©l¦ì¸mªº¥Í¦¨¡@206
8.1.2¡@®×¨Òªº¶}µo¡@208
8.2¡@¶êÀ@Åé¡@210
8.2.1¡@³»ÂI­ì©l¦ì¸mªº¥Í¦¨¡@210
8.2.2¡@®×¨Òªº¶}µo¡@212
8.3¡@¶êÀôÅé¡@213
8.3.1¡@³»ÂI­ì©l¦ì¸mªº¥Í¦¨¡@213
8.3.2¡@®×¨Òªº¶}µo¡@214
8.4¡@Á³±ÛºÞ¡@216
8.4.1¡@³»ÂI­ì©l¦ì¸mªº¥Í¦¨¡@216
8.4.2¡@®×¨Òªº¶}µo¡@217
8.5¡@´X¦ó²y¡@218
8.5.1¡@³»ÂI­ì©l¦ì¸mªº¥Í¦¨¡@218
8.5.2¡@®×¨Òªº¶}µo¡@220
8.6¡@¨¬²yºÒ¤À¤l¼Ò«¬ªº·f«Ø¡@224
8.6.1¡@·f«Øªº°ò¥»­ì²z¡@225
8.6.2¡@®×¨Òªº¶}µo¡@227
8.7¡@¨©¶ëº¸¦±½u¤Î±ÛÂà­±¡@229
8.7.1¡@¤Tºû±ÛÂ঱­±ªº¥Í¦¨¡@230
8.7.2¡@¨©¶ëº¸¦±½u¡@230
8.7.3¡@Bezier¦±½u¥Í¦¨¤u¨ã¡@231
8.7.4¡@¦L«×¥j¨å«Øµ®³õ´ºªº¶}µo¡@233
8.8¡@¥»³¹¤pµ²¡@234

²Ä9³¹¡@§ó¹G¯uªº´åÀ¸³õ´º¡X¡X3D¼Ò«¬¥[¸ü¡@235
9.1¡@obj¼Ò«¬¤å¥ó·§­z¡@235
9.1.1¡@obj¤å¥óªº®æ¦¡¡@235
9.1.2¡@¥Î3ds Max³]­p3D¼Ò«¬¡@236
9.2¡@¥[¸üobj¤å¥ó¡@237
9.2.1¡@¥[¸ü¶È¦³³»ÂI§¤¼Ð»P­±¼Æ¾Úªºobj¤å¥ó¡@237
9.2.2¡@¥[¸ü¦Z¦Û°Ê­pºâ­±ªk¦V¶q¡@240
9.2.3¡@¥[¸ü¦Z¦Û°Ê­pºâ¥­§¡ªk¦V¶q¡@242
9.2.4¡@¥[¸ü¯¾²z§¤¼Ð¡@245
9.3¡@¥»³¹¤pµ²¡@247

²Ä10³¹¡@¿W¯Sªº³õ´º´è¬V§Þ³N¡X¡X²V¦X»PÃú¡@248
10.1¡@²V¦X§Þ³N¡@248
10.1.1¡@²V¦X°ò¥»ª¾ÃÑ¡@248
10.1.2¡@·½¦]¤l©M¥Ø¼Ð¦]¤l¡@249
10.1.3¡@²³æ²V¦X®ÄªG®×¨Ò¡@250
10.2¡@¦a¤ë¨t¤ª¼h®ÄªGªº¹ê²{¡@252
10.3¡@Ãú¡@254
10.3.1¡@Ãúªº­ì²z»PÀu¶Õ¡@254
10.3.2¡@ÃúªºÂ²³æ¹ê²{¡@255
10.4¡@¥»³¹¤pµ²¡@257

²Ä11³¹¡@±`¥Îªº3D¶}µo§Þ¥©¡X¡X¼Ð§ÓªO¡B¤ÑªÅ²°¡BÃ蹳ø¨îµ¥¡@258
11.1¡@¼Ð§ÓªO¡@258
11.1.1¡@®×¨Ò®ÄªG»P°ò¥»­ì²z¡@258
11.1.2¡@¶}µo¨BÆJ¡@259
11.2¡@¦Ç«×¹Ï¦a§Î¡@262
11.2.1¡@°ò¥»­ì²z¡@263
11.2.2¡@´¶³q¦Ç«×¹Ï¦a§Î¡@263
11.2.3¡@¹Lµ{¯¾²z¦a§Î¡@265
11.2.4¡@MipMap¦a§Î¡@268
11.3¡@¥Î²É¤l¨I¿nºâªkºc«Ø¦a§Î¡@269
11.3.1¡@²É¤l¨I¿nªk°ò¥»­ì²z¡@269
11.3.2¡@¦a§Î³]­p¾¹ªº¨Ï¥Î¡@271
11.3.3¡@²É¤l¨I¿nªº®Ö¤ßºâªkÃþ¡@272
11.4¡@¤ÑªÅ²°»P¤ÑªÅªÆ¡@274
11.4.1¡@¤ÑªÅ²°¡@274
11.4.2¡@¤ÑªÅªÆ¡@275
11.4.3¡@¤ÑªÅ²°»P¤ÑªÅªÆªº¨Ï¥Î§Þ¥©¡@277
11.5¡@Ãè¹³§Þ³N¡@277
11.5.1¡@Ãè¹³°ò¥»­ì²z¡@277
11.5.2¡@°ò¥»®ÄªG®×¨Ò¡@277
11.5.3¡@¤É¯Å®ÄªG®×¨Ò¡@280
11.6¡@°ÊºA¤å¥»¿é¥X¡@281
11.6.1¡@®×¨Ò®ÄªG»P°ò¥»­ì²z¡@281
11.6.2¡@¨ãÅé¶}µo¨BÆJ¡@282
11.7¡@«D¯u¹ê·Pø¨î¡@283
11.7.1¡@®×¨Ò®ÄªG»P°ò¥»­ì²z¡@284
11.7.2¡@¨ãÅé¶}µo¨BÆJ¡@284
11.8¡@¥»³¹¤pµ²¡@286

²Ä12³¹¡@´è¬V¥X§ó¥[»Å¬¯ªº3D³õ´º¡X¡X°Åµô´ú¸Õ¡@287
12.1¡@°Åµô´ú¸Õ¡@287
12.1.1¡@°ò¥»­ì²z»P®Ö¤ß¥N½X¡@287
12.1.2¡@¤@­Ó¥D¦¸µø¨¤ªºÂ²³æ®×¨Ò¡@287
12.2¡@Alpha´ú¸Õ¡@288
12.2.1¡@Alpha´ú¸Õ°ò¥»­ì²z¡@289
12.2.2¡@¤@­Ó¾ò¶êµ¡¤fªº®×¨Ò¡@289
12.3¡@¼ÒªO´ú¸Õ¡@290
12.3.1¡@°ò¥»­ì²z¡@291
12.3.2¡@¤@­Ó²³æªº®×¨Ò¡@293
12.4¡@¥ô·N°Åµô¥­­±¡@294
12.4.1¡@°ò¥»­ì²z¡@294
12.4.2¡@¯ù³ý³Q¥ô·N¥­­±°Åµôªº®×¨Ò¡@294
12.5¡@¥»³¹¤pµ²¡@296

²Ä13³¹¡@¤Þ¤H¤J³Óªº´åÀ¸¯S©Ê¡X¡X¶Ç·P¾¹À³¥Î¶}µo¡@297
13.1¡@°ò¥»ªº¶}µo¬yµ{¡@297
13.2¡@¥[³t«×¶Ç·P¾¹¡@299
13.2.1¡@¥[³t«×¶Ç·P¾¹Â²¤¶¡@299
13.2.2¡@®×¨Òªº¶}µo¡@300
13.3¡@ºÏ³õ¶Ç·P¾¹¡@301
13.3.1¡@ºÏ³õ¶Ç·P¾¹Â²¤¶¡@301
13.3.2¡@®×¨Òªº¶}µo¡@301
13.4¡@ªûÁ³»ö¶Ç·P¾¹¡@302
13.4.1¡@ªûÁ³»ö¶Ç·P¾¹Â²¤¶¡@302
13.4.2¡@®×¨Òªº¶}µo¡@302
13.5¡@¥ú¶Ç·P¾¹¡@304
13.5.1¡@¥ú¶Ç·P¾¹Â²¤¶¡@304
13.5.2¡@®×¨Òªº¶}µo¡@304
13.6¡@·Å«×¶Ç·P¾¹¡@305
13.6.1¡@·Å«×¶Ç·P¾¹Â²¤¶¡@305
13.6.2¡@®×¨Òªº¶}µo¡@305
13.7¡@±µªñ¶Ç·P¾¹¡@306
13.7.1¡@±µªñ¶Ç·P¾¹Â²¤¶¡@306
13.7.2¡@®×¨Òªº¶}µo¡@307
13.8¡@«ººA¶Ç·P¾¹¡@308
13.8.1¡@«ººA¶Ç·P¾¹Â²¤¶¡@308
13.8.2¡@®×¨Òªº¶}µo¡@310
13.9¡@¥[³t«×¶Ç·P¾¹ºî¦X®×¨Ò¡@311
13.10 ¶Ç·P¾¹ªº§¤¼Ð¶b°ÝÃD¡@313
13.11¡@¥»³¹¤pµ²¡@316

²Ä14³¹¡@²¾°Ê¶}µo¥­»O¤Wªº¥D¨¤¡X¡XAndroid NDK¤ÎiOS¥­»O¤UªºOpenGL ES¶}µo¡@317
14.1¡@¨Ï¥ÎAndroid NDK¶i¦æOpenGL ES¶}µo¡@317
14.1.1¡@Android NDK¶}µoÀô¹Òªº¤U¸ü¤Î°t¸m¡@317
14.1.2¡@Android NDK¦bEclipse¤¤ªº°t¸m¡@320
14.1.3¡@¨Ï¥ÎAndroid NDK¶}µo²³æªºOpenGL ES 2.0µ{§Ç¡@322
14.2¡@¨Ï¥ÎAndroid NDK¶}µo¤s¦a¦a§Î³õ´º¡@328
14.2.1¡@®×¨Ò®ÄªG¤Î¤s¦aø¨îÃþªº¶}µo¡@329
14.2.2¡@NDKºÝ´è¬V¨ç¼Æªº¶}µo¡@331
14.3¡@°ò¤_iOS¥­»O¶}µoOpenGL ES 2.0µ{§Ç¡@332
14.3.1¡@®×¨Ò¹B¦æ®ÄªG¤ÎXcode¶µ¥Øªº³Ð«Ø¡@332
14.3.2¡@®×¨Òªº¶}µo¹Lµ{¡@334
14.4¡@°ò¤_iOS¥­»Oªº¦a¤ë¨t³õ´º®×¨Ò¡@337
14.4.1¡@®×¨Ò¹B¦æ®ÄªG¤ÎGLViewªº¶}µo¡@337
14.4.2¡@¨ä¥L³¡¤Àªº¶}µo¡@338
14.5¡@¥»³¹¤p¸`¡@340

²Ä15³¹¡@WebºÝ3D´åÀ¸¶}µo¡X¡XWebGL 3DÀ³¥Î¶}µo¡@341
15.1¡@WebGL·§Äý¡@341
15.1.1¡@WebGL²¤¶¡@341
15.1.2¡@WebGL®ÄªG®i¥Ü¡@341
15.2¡@ªìÃÑWebGLÀ³¥Î¡@342
15.2.1¡@Obj¼Ò«¬¥[¸ü¤u¨ã²¤¶¡@342
15.2.2¡@²³æ´è¬V3D¼Ò«¬®×¨Òªº¶}µo¡@344
15.3¡@¥[¤J¥ú·Ó®ÄªGªºWebGL®×¨Ò¡@349
15.3.1¡@¥Í¦¨±a¦³ªk¦V¶q¼Æ¾ÚªºJavaScript¸}¥»¤å¥ó¡@349
15.3.2¡@®×¨Òªº¨ãÅé¶}µo¡@350
15.4¡@±a¦³¯¾²z¶K¹ÏªºWebGL®×¨Ò¡@351
15.4.1¡@¥Í¦¨±a¦³ªk¦V¶q©M¯¾²z§¤¼Ð¼Æ¾ÚªºJavaScript¸}¥»¤å¥ó¡@351
15.4.2¡@®×¨Òªº¶}µo¡@351
15.4.3¡@WebGLª©ªº¦a¤ë¨t®×¨Ò¡@353
15.5¡@¥»³¹¤p¸`¡@354

²Ä16³¹¡@ºî¦X®×¨Ò¤@¡X¡X©]ÆN¦æ°Ê¡@355
16.1¡@´åÀ¸­I´º¤Î¥\¯à·§­z¡@355
16.1.1¡@´åÀ¸¶}µoªº­I´º·§­z¡@355
16.1.2¡@´åÀ¸¥\¯à¤¶²Ð¡@355
16.2¡@´åÀ¸ªºµ¦¹º¤Î·Ç³Æ¤u§@¡@358
16.2.1¡@´åÀ¸ªºµ¦¹º¡@358
16.2.2¡@Android¥­»O¤U´åÀ¸¶}µoªº·Ç³Æ¤u§@¡@359
16.3¡@´åÀ¸ªº¬[ºc¡@362
16.3.1¡@¦U­ÓÃþªºÂ²­n¤¶²Ð¡@362
16.3.2¡@´åÀ¸®Ø¬[²¤¶¡@365
16.4¡@¤½¦@ÃþAircraft_Activity¡@366
16.5¡@´åÀ¸¬ÛÃöÃþ¡@368
16.5.1¡@´åÀ¸¬É­±Ã¸¨îÃþ(GLGameView)¡@369
16.5.2¡@´åÀ¸½uµ{Ãþ(KeyThread)¡@380
16.5.3¡@¤l¼uÃþ(BulletForControl)¡@391
16.5.4¡@©Z§JÃþ(TanKe)¡@395
16.5.5¡@¤s¦aø¨îÃþ(LandForm)¡@399
16.5.6¡@ÃC¦â¶ê­±Ãþ(CircleForDraw)¡@400
16.5.7¡@¬PªÅÃþ(SkyNight)¡@402
16.5.8¡@Ãz¬µ®ÄªGø¨îÃþ(DrawBomb)¡@403
16.5.9¡@¼Æ¦rø¨îÃþ(NumberForDraw)¡@404
16.6¡@¸Ó´åÀ¸¤¤ªºµÛ¦â¾¹¡@405
16.6 .1¡@¥[¸ü¬É­±µÛ¦â¾¹¡@405
16.6.2¡@¦a§ÎµÛ¦â¾¹¡@405
16.6.3¡@«ö¶sµÛ¦â¾¹¡@407
16.6.4¡@¬PªÅµÛ¦â¾¹¡@407
16.6.5¡@¥Í©R­È¯x§ÎµÛ¦â¾¹¡@408
16.6.6¡@ÃC¦â¶ê­±µÛ¦â¾¹¡@408
16.7¡@´åÀ¸ªºÀu¤Æ»P§ï¶i¡@408

²Ä17³¹¡@ºî¦X®×¨Ò¤G¡X¡XBNÁɸ¥¡@410
17.1¡@´åÀ¸­I´º¤Î¥\¯à·§­z¡@410
17.1.1¡@´åÀ¸¶}µoªº­I´º·§­z¡@410
17.1.2¡@´åÀ¸¥\¯à¤¶²Ð¡@410
17.2¡@´åÀ¸ªºµ¦¹º¤Î·Ç³Æ¤u§@¡@412
17.2.1¡@´åÀ¸ªºµ¦¹º¡@412
17.2.2¡@Android¥­»O¤U´åÀ¸ªº·Ç³Æ¤u§@¡@413
17.3¡@´åÀ¸ªº¬[ºc¡@416
17.3.1¡@¦U­ÓÃþ²­n¤¶²Ð¡@417
17.3.2¡@´åÀ¸®Ø¬[²¤¶¡@421
17.4¡@¥D±±¨îÃþ(MyActivity)¡@423
17.5¡@2D¬É­±¬ÛÃöÃþ¡@426
17.5.1¡@Åwªï¬É­±Ãþ(WelcomeView)¡@426
17.5.2¡@2D¬É­±¤÷Ãþ(MySFView)¡@427
17.5.3¡@¥Dµæ³æÃþ(MenuView)¡@427
17.5.4¡@2D¬É­±Ã¸¨îÃþ(ViewForDraw)¡@428
17.5.5¡@¼Æ¾Ú®w¤u¨ãÃþ(DBUtil)¡@429
17.5.6¡@Android¨t²Îª©¥»¹ï¸Ü®Ø(AndroidVersionDialog)¡@431
17.6¡@¿ï²î¬É­±¬ÛÃöÃþ¡@431
17.6.1¡@µÛ¦â¾¹ºÞ²zÃþ(ShaderManager)¡@432
17.6.2¡@³òùÙÃþ(ColorLightRect)¡@432
17.6.3¡@¿ï²î©Ð¶¡Ãþ(HouseForDraw)¡@433
17.6.4¡@®i»OÃþ(DisplayStation)¡@435
17.6.5¡@Áɸ¥Ãþ(Boat)¡@436
17.6.6¡@¿ï²î¬É­±(XCSurfaceView)¡@436
17.7¡@´åÀ¸¬É­±¬ÛÃöÃþ¡@441
17.7.1¡@¶i«×±øÃþ(Process)¡@441
17.7.2¡@3Dª«Åé¤÷Ãþ(BNDrawer)¡@442
17.7.3¡@3Dª«Åé±±¨îÃþ(TDObjectForControl)¡@442
17.7.4¡@Áɸ¥Ãþ(Boat)¡@443
17.7.5¡@¥i¸I¼²ª«Åé¤÷Ãþ(KZBJDrawer)¡@444
17.7.6¡@¥i¸I¼²ª«Åé±±¨îÃþ(KZBJForControl)¡@444
17.7.7¡@Áɸ¥»P¥i¸I¼²ª«ÅéÀË´ú¸I¼²½uµ{(ThreadColl)¡@446
17.7.8¡@¥i¦Yª«Åé¤÷Ãþ(SpeedForEat)¡@446
17.7.9¡@¥i¦Yª«Åé±±¨îÃþ(SpeedForControl)¡@447
17.7.10¡@´¹Åé±ÛÂà½uµ{(RotateThread)¡@448
17.7.11¡@Áɸ¥»P´¹Åé¸I¼²ÀË´ú½uµ{(ThreadForEat)¡@449
17.7.12¡@¤ñ¸û¨âÄé¤ì¶ZÂ÷Äá¹³¾÷¶ZÂ÷Ãþ(MyComparable)¡@449
17.7.13¡@³æ­ÓÄé¤ìÃþ(SingleShrub)¡@450
17.7.14¡@Äé¤ì±±¨îÃþ(ShrubForControl)¡@451
17.7.15¡@Áɸ¥ÁɹDÃþ(RaceTrack)¡@451
17.7.16¡@Áɸ¥»P¾ô¸I¼²ÀË´úÃþ(PZZ)¡@453
17.7.17¡@Áɸ¥¹B°Ê¸ô®|¤u¨ãÃþ(PathUtil)¡@453
17.7.18¡@§À®öÃþ(WeiLang)¡@454
17.7.19¡@¤ô­±Ãþ(Water)¡@455
17.7.20¡@´åÀ¸¬É­±Ãþ(MyGLSurfaceView)¡@456
17.7.21¡@¹B°ÊºÊÅ¥½uµ{(KeyThread)¡@463
17.8¡@¸Ó´åÀ¸¤¤ªºµÛ¦â¾¹¡@465
17.9¡@´åÀ¸ªºÀu¤Æ»P§ï¶i¡@467
§Ç¡G