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

Android 3D¹CÀ¸¶}µo§Þ³NÄ_¨å¡X¡XOpenGL ES 2.0

( ²Åé ¦r)
§@ªÌ¡G§d¨È®pÃþ§O¡G1. -> µ{¦¡³]­p -> ¤â¾÷µ{¦¡ -> Android
¡@¡@¡@2. -> ¦h´CÅé -> OpenGL
ĶªÌ¡G
¥Xª©ªÀ¡G¤H¥Á¶l¹q¥Xª©ªÀAndroid 3D¹CÀ¸¶}µo§Þ³NÄ_¨å¡X¡XOpenGL ES 2.0 3dWoo®Ñ¸¹¡G 32510
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

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

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

ĶªÌ§Ç¡G

«e¨¥¡G

¤º®e²¤¶¡G

ÀHµÛ´¼¯à¤â¾÷²¾°Ê´O¤J¦¡¥­»Oµw¥ó©Ê¯àªº¤£Â_´£¤É¡A3D´åÀ¸À³¥Î¤]³vº¥´¶¤Î¶}¨Ó¡C¡mAndroid 3D´åÀ¸¶}µo§Þ³NÄ_¨å¡X¡XOpenGL ES 2.0¡nµ²¦X§@ªÌ¦h¦~±q¨Æ3D´åÀ¸À³¥Î¶}µoªºÄ_¶Q¸gÅç¡A¥þ­±¤¶²Ð¤F»PAndroid¥­»O¬ÛÃöªº¥²ª¾¥²·|ªº°ò¦ª¾ÃѤΤj«¬§¹¾ã3D®×¨Ò¡AÁ¿¸Ñ¤W¥Ñ²L¤J²`¡A´`§Çº¥¶i¡A°_ÂI§C¡B²×ÂI°ª¡A¬J¾A¦Xªì¾ÇªÌ¾Ç²ß¡A¤]¾A¦X¦³¤@©w°ò¦ªºÅªªÌ¶i¤@¨B´£¤É¤§¥Î¡C¥t¥~¡A¥Ñ¤_OpenGL ES 2.0ªºµÛ¦â»y¨¥³q¥Î¤_¦UºØ²¾°Ê´O¤J¦¡¥­»O¡A¦]¦¹¡A¡mAndroid 3D´åÀ¸¶}µo§Þ³NÄ_¨å¡X¡XOpenGL ES 2.0¡n¤¤»PµÛ¦â¾¹¶}µo¬ÛÃöªº60%¥ª¥kªº¤º®eÁÙ¥i¨ÑiPhone¡BWindows Mobile¡BMeeGooµ¥¥­»Oªº¶}µo¤H­û°Ñ¦Ò¡C
¡@¡@¥þ®Ñ¦@22³¹¡A¨ä¤¤²Ä1³¹»P²Ä2³¹¬°Android¥­»O¬ÛÃöªº¤@¨Ç°ò¦ª¾ÃÑ¡F²Ä3³¹¡ã²Ä10³¹¤¶²Ð¤F°ò¤_OpenGL ES 2.0¶i¦æ3DÀ³¥Î¶}µoªº¤@¨Ç¥²ª¾¥²·|ªº°ò¥»ª¾ÃÑ¡F²Ä11³¹¡ã²Ä15³¹¤¶²Ð¤F¤@¨Ç°ª¯Å¯S®Äªº¹ê²{¤èªk¡F²Ä16³¹¡ã²Ä17³¹¤¶²Ð¤F3D´åÀ¸¶}µo¤¤¬ÛÃöªº¤@¨Çª«²z¡B¸I¼²ÀË´úª¾ÃÑ¥H¤Î±`¥Îªº3Dª«²z¤ÞÀºJBullet¡F²Ä19³¹¤¶²Ð¤F3ºØ¤H¾÷¥æ¤¬ªº°ª¯Å§Þ³N¡F²Ä20³¹¡ã²Ä22³¹µ¹¥X¤F3­Ó§¹¾ãªº¤j«¬3D´åÀ¸®×¨Ò¡AÁ`¥N½X¶q±µªñ6¸U¦æ¡C¦P®É¬°¤F«K¤_ŪªÌªº¾Ç²ß¡A¡mAndroid 3D´åÀ¸¶}µo§Þ³NÄ_¨å¡X¡XOpenGL ES 2.0¡nªþÃتº¥ú½L¤¤¥]§t¤F®Ñ¤¤©Ò¦³®×¨Òªº§¹¾ã·½¥N½X¡A¦P®Éµ¹¥X¤F³Ì¦Z3­Ó§¹¾ã¤j«¬3D´åÀ¸®×¨ÒªºÁ¿¸ÑµøÀW¡A³Ì¤j­­«×¦aÀ°§UŪªÌ§Ö³t´x´¤¬ÛÀ³ªº¶}µo§Þ³N¡C
¡@¡@¡mAndroid 3D´åÀ¸¶}µo§Þ³NÄ_¨å¡X¡XOpenGL ES 2.0¡n¾A¦XAndroidµ{§Ç­û¡B´åÀ¸¶}µoªÌ¤ÎAndroid·R¦nªÌ¾Ç²ß¡A¤]¥i¥H§@¬°¬ÛÃö°ö°V¾Ç®Õ©M¤j±M°|®Õ¬ÛÃö±M·~ªº±Ð¾Ç¥Î®Ñ¡C

¥Ø¿ý¡G

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

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

²Ä3³¹¡@ªìÃÑOpenGL ES 2.0¡@77
3.1¡@OpenGL ES 2.0·§Äý¡@77
3.1.1¡@OpenGL ES 2.0²¤¶¡@77
3.1.2¡@ªìÃÑOpenGL ES 2.0À³¥Îµ{§Ç¡@80
3.2¡@µÛ¦â¾¹»P´è¬VºÞ½u¡@89
3.2.1¡@OpenGL ES 1.xªº´è¬VºÞ½u¡@89
3.2.2¡@OpenGL ES 2.0ªº´è¬VºÞ½u¡@94
3.2.3¡@OpenGL ES¤¤¥ßÅ骫Å骺ºc«Ø¡@97
3.3¡@¥D¬yAndroid¤â¾÷GPU¤jPK¡@98
3.3.1¡@¤â¾÷GPU¥|¤j®a±Ú¹ï¤ñ¡@99
3.3.2¡@¥D¬yGPUªº©Ê¯à°Ñ¼Æ¤ñ¸û¡@103
3.4¡@¥»³¹¤pµ²¡@104

²Ä4³¹¡@µÛ¦â»y¨¥Shading Language¡@105
4.1¡@µÛ¦â»y¨¥·§­z¡@105
4.2¡@µÛ¦â»y¨¥°ò¦¡@106
4.2.1¡@¼Æ¾ÚÃþ«¬·§­z¡@106
4.2.2¡@¼Æ¾ÚÃþ«¬ªº°ò¥»¨Ï¥Î¡@110
4.2.3¡@¹Bºâ²Å¡@112
4.2.4¡@Ãþ«¬Âà´«¡@114
4.2.5¡@­­©w²Å¡@115
4.2.6¡@¬yµ{±±¨î¡@119
4.2.7¡@¨ç¼ÆªºÁn©ú»P¨Ï¥Î¡@121
4.2.8¡@¤ù¤¸µÛ¦â¾¹¤¤¯BÂIÅܶqºë«×ªº«ü©w¡@122
4.2.9¡@µ{§Çªº°ò¥»µ²ºc¡@123
4.3¡@¯S®íªº¤º«ØÅܶq¡@123
4.3.1¡@³»ÂIµÛ¦â¾¹¤¤ªº¤º«ØÅܶq¡@124
4.3.2¡@¤ù¤¸µÛ¦â¾¹¤¤ªº¤º«ØÅܶq¡@124
4.4¡@µÛ¦â»y¨¥ªº¤º¸m¨ç¼Æ¡@125
4.4.1¡@¨¤«×Âà´«»P¤T¨¤¨ç¼Æ¡@126
4.4.2¡@«ü¼Æ¨ç¼Æ¡@127
4.4.3¡@±`¨£¨ç¼Æ¡@127
4.4.4¡@´X¦ó¨ç¼Æ¡@130
4.4.5¡@¯x°}¨ç¼Æ¡@132
4.4.6¡@¦V¶qÃö¨t¨ç¼Æ¡@133
4.4.7¡@¯¾²zªö¼Ë¨ç¼Æ¡@134
4.4.8¡@·L¤À¨ç¼Æ¡@135
4.5¡@¥»³¹¤pµ²¡@135

²Ä5³¹¡@§ë¼v¤Î¦UºØÅÜ´«¡@136
5.1¡@Äá¹³¾÷ªº³]¸m¡@136
5.2¡@¨âºØ§ë¼v¤è¦¡¡@137
5.2.1¡@¥¿¥æ§ë¼v¡@137
5.2.2¡@³zµø§ë¼v¡@145
5.3¡@¦UºØÅÜ´«¡@148
5.3.1¡@°ò¥»ÅÜ´«ªº¬ÛÃö¼Æ¾Çª¾ÃÑ¡@148
5.3.2¡@¥­²¾ÅÜ´«¡@148
5.3.3¡@±ÛÂàÅÜ´«¡@152
5.3.4¡@ÁY©ñÅÜ´«¡@153
5.3.5¡@°ò¥»ÅÜ´«ªº¹ê½è¡@155
5.4¡@ø¨î¤è¦¡¡@156
5.4.1¡@¦UºØø¨î¤è¦¡·§Äý¡@156
5.4.2¡@ÂI»P½u¬qø¨î¤è¦¡¡@157
5.4.3¡@¤T¨¤§Î±ø±a»P®°­±Ã¸¨î¤è¦¡¡@159
5.4.4¡@³»ÂIªk»P¯Á¤Þªk¡@165
5.5¡@³]¸m¦X²zªºµø¨¤¡@167
5.6¡@¨÷¶©M­I­±°Åµô¡@173
5.6.1¡@°ò¥»ª¾ÃÑ¡@173
5.6.2¡@¤@­Ó²³æªº®×¨Ò¡@174
5.7¡@¥»³¹¤pµ²¡@176

²Ä6³¹¡@¥ú·Ó¡@177
6.1¡@¦±­±ª«Å骺ºc«Ø¡@177
6.1.1¡@²yÅéºc«Øªº°ò¥»­ì²z¡@177
6.2.2¡@®×¨Ò®ÄªG·§Äý¡@178
6.2.3¡@¶}µo¨BÆJ¡@179
6.2¡@°ò¥»¥ú·Ó®ÄªG¡@182
6.2.1¡@¥ú·Óªº°ò¥»¼Ò«¬¡@182
6.2.2 Àô¹Ò¥ú¡@183
6.2.3¡@´²®g¥ú¡@185
6.2.4¡@Ãè­±¥ú¡@190
6.2.5¡@¤TºØ¥ú·Ó³q¹Dªº¦X¦¨¡@194
6.3¡@©w¦ì¥ú»P©w¦V¥ú¡@196
6.4¡@ÂIªk¦V¶q©M­±ªk¦V¶q¡@199
6.5¡@¥ú·Óªº¨C³»ÂI­pºâ»P¨C¤ù¤¸­pºâ¡@202
6.6¡@¥»³¹¤pµ²¡@204

²Ä7³¹¡@¯¾²z¬M®g¡@205
7.1¡@ªìÃѯ¾²z¬M®g¡@205
7.1.1¡@°ò¥»­ì²z¡@205
7.1.2¡@¯¾²z¬M®gªºÂ²³æ®×¨Ò¡@206
7.2¡@¯¾²z©Ô¦ù¡@212
7.2.1¡@¨âºØ©Ô¦ù¤è¦¡·§Äý¡@212
7.2.2¡@¤£¦P©Ô¦ù¤è¦¡ªº®×¨Ò¡@214
7.3¡@¯¾²zªö¼Ë¡@217
7.3.1¡@¯¾²zªö¼Ë·§­z¡@217
7.3.2¡@³ÌªñÂIªö¼Ë¡@218
7.3.3¡@½u©Ê¯¾²zªö¼Ë¡@219
7.3.4¡@MIN»PMAGªö¼Ë¡@220
7.3.5¡@¤£¦P¯¾²zªö¼Ë¤è¦¡ªº®×¨Ò¡@221
7.4¡@mipmap¯¾²z§Þ³N¡@226
7.5¡@¦h­«¯¾²z»P¹Lµ{¯¾²z¡@227
7.5.1¡@®×¨Ò·§Äý¡@227
7.5.2¡@±N2D¯¾²z¬M®g¨ì²y­±¤Wªºµ¦²¤¡@228
7.5.3¡@®×¨Òªº³õ´ºµ²ºc¡@229
7.5.4¡@¶}µo¹Lµ{¡@230
7.6¡@¥»³¹¤pµ²¡@238

²Ä8³¹¡@3D°ò¥»§Îª¬ªººc«Ø¡@239
8.1¡@¶ê¬WÅé¡@239
8.1.1¡@³»ÂI­ì©l¦ì¸mªº¥Í¦¨¡@239
8.1.2¡@®×¨Òªº¶}µo¡@241
8.2¡@¶êÀ@Åé¡@244
8.2.1¡@³»ÂI­ì©l¦ì¸mªº¥Í¦¨¡@244
8.2.2¡@®×¨Òªº¶}µo¡@246
8.3¡@¶êÀôÅé¡@248
8.3.1¡@³»ÂI­ì©l¦ì¸mªº¥Í¦¨¡@248
8.3.2¡@®×¨Òªº¶}µo¡@249
8.4¡@Á³±ÛºÞ¡@251
8.4.1¡@³»ÂI­ì©l¦ì¸mªº¥Í¦¨¡@252
8.4.2¡@®×¨Òªº¶}µo¡@252
8.5¡@´X¦ó²y¡@253
8.5.1¡@³»ÂI­ì©l¦ì¸mªº¥Í¦¨¡@254
8.5.2¡@®×¨Òªº¶}µo¡@255
8.6¡@¨¬²yºÒ¤À¤l¼Ò«¬ªº·f«Ø¡@262
8.6.1¡@·f«Øªº°ò¥»­ì²z¡@262
8.6.2¡@®×¨Òªº¶}µo¡@264
8.7¡@¨©¶ëº¸¦±½u¤Î±ÛÂà­±¡@270
8.7.1¡@¤Tºû±ÛÂ঱­±ªº¥Í¦¨¡@270
8.7.2¡@¨©¶ëº¸¦±½u¡@270
8.7.3¡@Bezier¦±½u¥Í¦¨¤u¨ã¡@272
8.7.4¡@¦L«×¥j¨å«Øµ®³õ´ºªº¶}µo¡@274
8.8¡@¥»³¹¤pµ²¡@276

²Ä9³¹¡@3D¼Ò«¬¥[¸ü¡@277
9.1¡@obj¼Ò«¬¤å¥ó·§Äý¡@277
9.1.1¡@obj¤å¥óªº®æ¦¡¡@277
9.1.2¡@¥Î3DMax³]­p3D¼Ò«¬¡@278
9.2¡@¥[¸üobj¤å¥ó¡@279
9.2.1¡@¥[¸ü¶È¦³³»ÂI§¤¼Ð»P­±¼Æ¾Úªºobj¤å¥ó¡@279
9.2.2¡@¥[¸ü¦Z¦Û°Ê­pºâ­±ªk¦V¶q¡@283
9.2.3¡@¥[¸ü¦Z¦Û°Ê­pºâ¥­§¡ªk¦V¶q¡@286
9.2.4¡@¥[¸ü¯¾²z§¤¼Ð¡@289
9.3¡@¥»³¹¤pµ²¡@292

²Ä10³¹¡@²V¦X»PÃú¡@293
10.1¡@²V¦X§Þ³N¡@293
10.1.1¡@²V¦X°ò¥»ª¾ÃÑ¡@293
10.1.2¡@·½¦]¤l©M¥Ø¼Ð¦]¤l¡@294
10.1.3¡@²³æ²V¦X®ÄªG®×¨Ò¡@295
10.2¡@¦a¤ë¨t¤ª¼h®ÄªGªº¹ê²{¡@297
10.3¡@Ãú¡@300
10.3.1¡@Ãúªº­ì²z»PÀu¶Õ¡@300
10.3.2¡@ÃúªºÂ²³æ¹ê²{¡@301
10.4¡@¥»³¹¤pµ²¡@304

²Ä11³¹¡@±`¥Î3D¶}µo§Þ¥©¡@305
11.1¡@¼Ð§ÓªO¡@305
11.1.1¡@®×¨Ò®ÄªG»P°ò¥»­ì²z¡@305
11.1.2¡@¶}µo¨BÆJ¡@306
11.2¡@¦Ç«×¹Ï¦a§Î¡@310
11.2.1¡@°ò¥»­ì²z¡@311
11.2.2¡@´¶³q¦Ç«×¹Ï¦a§Î¡@311
11.2.3¡@¹Lµ{¯¾²z¦a§Î¡@314
11.2.4¡@MipMap¦a§Î¡@317
11.3¡@¤ÑªÅ²°»P¤ÑªÅªÆ¡@318
11.3.1¡@¤ÑªÅ²°¡@318
11.3.2¡@¤ÑªÅªÆ¡@320
11.3.3¡@¤ÑªÅ²°»P¤ÑªÅªÆªº¨Ï¥Î§Þ¥©¡@321
11.4¡@Ãè¹³§Þ³N¡@322
11.4.1¡@Ãè¹³°ò¥»­ì²z¡@322
11.4.2¡@°ò¥»®ÄªG®×¨Ò¡@322
11.4.3¡@¤É¯Å®ÄªG®×¨Ò¡@325
11.5¡@°ÊºA¤å¥»¿é¥X¡@327
11.5.1¡@®×¨Ò®ÄªG»P°ò¥»­ì²z¡@327
11.5.2¡@¨ãÅé¶}µo¨BÆJ¡@328
11.6¡@«D¯u¹ê·Pø¨î¡@330
11.6.1¡@®×¨Ò®ÄªG»P°ò¥»­ì²z¡@330
11.6.2¡@¨ãÅé¶}µo¨BÆJ¡@331
11.7¡@¥»³¹¤pµ²¡@332

²Ä12³¹¡@´XºØ°Åµô»P´ú¸Õ¡@333
12.1¡@°Åµô´ú¸Õ¡@333
12.1.1¡@°ò¥»­ì²z»P®Ö¤ß¥N½X¡@333
12.1.2¡@¤@­Ó¥D¦¸µø¨¤ªºÂ²³æ®×¨Ò¡@334
12.2¡@Alpha´ú¸Õ¡@335
12.2.1¡@Alpha´ú¸Õ°ò¥»­ì²z¡@335
12.2.2¡@¤@­Ó¾ò¶êµ¡¤fªº®×¨Ò¡@335
12.3¡@¼ÒªO´ú¸Õ¡@337
12.3.1¡@°ò¥»­ì²z¡@337
12.3.2¡@¤@­Ó²³æªº®×¨Ò¡@340
12.4¡@¥ô·N°Åµô¥­­±¡@341
12.4.1¡@°ò¥»­ì²z¡@341
12.4.2¡@¯ù³ý³Q¥ô·N¥­­±°Åµôªº®×¨Ò¡@342
12.5¡@¥»³¹¤pµ²¡@344

²Ä13³¹¡@³»ÂIµÛ¦â¾¹ªº§®¥Î¡@345
13.1¡@ÄÆ´­ªººX¼m¡@345
13.1.1¡@°ò¥»­ì²z¡@345
13.1.2¡@¶}µo¨BÆJ¡@346
13.2¡@§á°Êªº³n¿}¡@349
13.2.1¡@°ò¥»­ì²z¡@349
13.2.2¡@¶}µo¨BÆJ¡@350
13.3¡@­·§j·¦ªL³õ´ºªº¶}µo¡@351
13.3.1¡@·¦¤l¾ðÀH­··nÂ\ªº°ò¥»­ì²z¡@351
13.3.2¡@¶}µo¨BÆJ¡@352
13.4¡@®i¯Í­¸µ¾ªº¶¯ÆN¡@356
13.4.1¡@°ò¥»­ì²z¡@356
13.4.2¡@¶}µo¨BÆJ¡@357
13.5¡@¤Gºû§á¦±¡@359
13.5.1¡@°ò¥»­ì²z¡@359
13.5.2¡@¶}µo¨BÆJ¡@360
13.6¡@OpenGL ES 1.x»POpenGL ES 2.0¹ê²{¤è®×ªº¹ï¤ñ¡@363
13.7¡@¥»³¹¤pµ²¡@364

²Ä14³¹¡@¤ù¤¸µÛ¦â¾¹ªº§®¥Î¡@365
14.1¡@µ{§Ç¯¾²z§Þ³N¡@365
14.1.1¡@¿j¶ôµÛ¦â¾¹¡@365
14.1.2¡@¨FÅy²yµÛ¦â¾¹¡@367
14.2¡@¼Æ¦r¹Ï¹³³B²z¡@368
14.2.1¡@¨÷¿nªº°ò¥»ª¾ÃÑ¡@369
14.2.2¡@¥­·Æ¹LÂo¡@369
14.2.3¡@Ãä½tÀË´ú¡@371
14.2.4¡@¾U¤Æ³B²z¡@372
14.2.5¡@¯BÀJ®ÄªG¡@373
14.2.6¡@¹Ï¹³º¥ÅÜ¡@374
14.3¡@¤À§ÎµÛ¦â¾¹¡@375
14.3.1¡@°Ò¼w¥¬Ã¹¶°Â²¤¶¡@375
14.3.2¡@°Ò¼w¥¬Ã¹¶°µÛ¦â¾¹ªº¹ê²{¡@376
14.3.3¡@±N°Ò¼w¥¬Ã¹¶°¯¾²zÀ³¥Î¨ì¹ê»Úª«Åé¤W¡@378
14.3.4¡@¯ü²ú¨È¶°µÛ¦â¾¹ªº¹ê²{¡@379
14.4¡@¥»³¹¤pµ²¡@380

²Ä15³¹¡@¯u¹ê¥ú¾ÇÀô¹Òªº¼ÒÀÀ¡@381
15.1¡@§ë¼v¶K¹Ï¡@381
15.1.1¡@®×¨Ò®ÄªG»P°ò¥»­ì²z¡@381
15.1.2¡@¶}µo¨BÆJ¡@382
15.2¡@¤Ï®gÀô¹Ò¼ÒÀÀ¡@385
15.2.1¡@®×¨Ò®ÄªG»P°ò¥»­ì²z¡@385
15.2.2¡@¶}µo¨BÆJ¡@386
15.3¡@§é®gÀô¹Ò¼ÒÀÀ¡@388
15.3.1¡@®×¨Ò®ÄªG»P°ò¥»­ì²z¡@388
15.3.2¡@¶}µo¨BÆJ¡@390
15.4¡@¦â´²®ÄªGªº¼ÒÀÀ¡@391
15.4.1¡@®×¨Ò®ÄªG»P°ò¥»­ì²z¡@391
15.4.2¡@¶}µo¨BÆJ¡@392
15.5¡@µá¯Iº¸®ÄªGªº¼ÒÀÀ¡@393
15.5.1¡@®×¨Ò®ÄªG»P°ò¥»­ì²z¡@393
15.5.2¡@¶}µo¨BÆJ¡@394
15.6¡@¥W¥Y¬M®g¡@395
15.6.1¡@®×¨Ò®ÄªG»P°ò¥»­ì²z¡@395
15.6.2¡@ªk¦V¶q¯¾²z¹Ïªº¥Í¦¨¡@396
15.6.3¡@®×¨Òªº¶}µo¡@399
15.7¡@¥­­±³±¼v¡@404
15.7.1¡@®×¨Ò®ÄªG»P°ò¥»­ì²z¡@405
15.7.2¡@¶}µo¨BÆJ¡@406
15.8¡@³±¼v¬M®g¡@409
15.8.1¡@®×¨Ò®ÄªG»P°ò¥»­ì²z¡@409
15.8.2¡@¶ZÂ÷¯¾²z¹Ïªº¥Í¦¨¡@411
15.8.3¡@³±¼v³õ´ºªºÃ¸¨î¡@417
15.9¡@¥ú½u¸òÂÜ¡@419
15.9.1¡@®×¨Ò®ÄªG»P°ò¥»­ì²z¡@419
15.9.2¡@¶}µo¨BÆJ¡@423
15.10 ¥»³¹¤pµ²¡@436

²Ä16³¹¡@´åÀ¸¶}µo¤¤ªºª«²z¾Ç¡@437
16.1¡@¸I¼²ÀË´ú°ò¥»§Þ³N¡@437
16.1.1¡@AABB¥]³ò²°ªº°ò¥»­ì²z¡@437
16.1.2¡@AABB¥]³ò²°ªº­pºâ¡@438
16.1.3¡@AABB¥]³ò²°ªº¸I¼²ÀË´ú¡@440
16.1.4¡@¤@­ÓAABB¥]³ò²°ªº®×¨Ò¡@442
16.1.5¡@±ÛÂà¦ZªºAABB¥]³ò²°¡@444
16.1.6¡@AABB¥]³ò²°ªº¨Ï¥Î­nÂI¡@448
16.1.7¡@OBB¥]³ò²°¡@448
16.2¡@¬ï³z®ÄÀ³¡@449
16.2.1¡@®×¨Òªº¹B¦æ®ÄªG»P°ò¥»­ì²z¡@449
16.2.2¡@¨ãÅé¶}µo¨BÆJ¡@450
16.3¡@²É¤l¨t²Î¡@450
16.3.1¡@®×¨Ò¹B¦æ®ÄªG»P°ò¥»­ì²z¡@451
16.3.2¡@CPUª©®×¨Òªº¶}µo¡@452
16.3.3¡@GPUª©®×¨Ò¶}µo¨BÆJ¡@453
16.4¡@¼u®½èÂI¼Ò«¬¡@455
16.4.1¡@®×¨Ò¹B¦æ®ÄªG»P°ò¥»­ì²z¡@455
16.4.2¡@¨ãÅé¶}µo¨BÆJ¡@457
16.5¡@¥»³¹¤pµ²¡@462

²Ä17³¹¡@´åÀ¸ªº¤ßŦ¡X¡Xª«²z¤ÞÀº¡@463
17.1¡@ª«²z¤ÞÀº«Ü­«­n¡@463
17.1.1¡@¤°¤\¬Oª«²z¤ÞÀº¡@463
17.1.2¡@±`¨£ªºª«²z¤ÞÀº¡@463
17.2¡@JBulletª«²z¤ÞÀº¡@466
17.2.1¡@°ò¥»ªºª«²z¾Ç·§©À¡@466
17.2.2¡@JBullet¤¤±`¥ÎÃþªº¤¶²Ð¡@468
17.3¡@½c¤l¬Û¤¬¸I¼²ªº®×¨Ò¡@475
17.3.1¡@®×¨Ò¹B¦æ®ÄªG¤Î·Ç³Æ¤u§@¡@476
17.3.2¡@®×¨Òªº°ò¥»®Ø¬[µ²ºc¡@476
17.3.3¡@±`¶qÃþ¡X¡XConstant¡@477
17.3.4¡@3D³õ´º´è¬VÃþ¡X¡XMySurfaceView¡@478
17.3.5¡@¤ô¥­¦a­±¡X¡XTexFloorÃþ¡@480
17.3.6¡@½c¤l¡X¡XTexCubeÃþ¡@481
17.4¡@´_¦X¸I¼²§Îª¬ªº¨Ï¥Î¡@483
17.4.1¡@®×¨Ò¹B¦æ®ÄªG¡@483
17.4.2¡@¥ß¤èÅé¶ê¬W´_¦X§Îª¬¡X¡XCubeCylinderÃþ¡@483
17.5¡@¥W¥Y¦a§Îªº®×¨Ò¡@486
17.5.1¡@®×¨Ò¹B¦æ®ÄªG¡@486
17.5.2¡@¦a§ÎÃþ¡X¡XLandForm¡@486
17.6¡@¥ô·N§Îª¬ª«Å骺¸I¼²¡@488
17.6.1¡@®×¨Ò¹B¦æ®ÄªG¡@488
17.6.2¡@¥[¸üª«ÅéÃþ¡X¡XLoadedObjectVertexNormal¡@488
17.6.3¡@¥[¸üª«Åé­èÅéÃþ¡X¡XLoadRigidBody¡@490
17.7¡@»ÇÃìÃö¸`¡@491
17.7.1¡@»ÇÃìÃö¸`ªº°ò¥»ª¾ÃÑ¡@491
17.7.2¡@®×¨Òªº¹B¦æ®ÄªG¡@492
17.7.3¡@»ÇÃìÃö¸`±ÛÂਤ³t«×ªº­pºâ¡@493
17.7.4¡@3D¬É­±´è¬VÃþ¡X¡XMySurfaceView¡@494
17.8¡@·Æ°ÊÃö¸`¡@496
17.8.1¡@·Æ°ÊÃö¸`ªº°ò¥»ª¾ÃÑ¡@496
17.8.2¡@®×¨Ò®ÄªG¹Ï¡@497
17.8.3¡@3D¬É­±´è¬VÃþ¡X¡XMySurfaceView¡@498
17.9¡@¤»¦Û¥Ñ«×Ãö¸`¡@502
17.9.1¡@¤»¦Û¥Ñ«×Ãö¸`ªº°ò¥»ª¾ÃÑ¡@502
17.9.2¡@®×¨Òªº¹B¦æ®ÄªG¡@503
17.9.3¡@¤H°¸Ãþ¡X¡XDoll¡@503
17.9.4¡@¬B¨ú®Éªö¥ÎªºÂI¹ïÂIÃö¸`¡@505
17.10¡@¥»³¹¤pµ²¡@509

²Ä18³¹¡@¶Ç·P¾¹À³¥Îªº¶}µo¡@510
18.1¡@°ò¥»ªº¶}µo¬yµ{¡@510
18.2¡@¥[³t«×¶Ç·P¾¹¡@512
18.2.1¡@¥[³t«×¶Ç·P¾¹Â²¤¶¡@513
18.2.2¡@®×¨Òªº¶}µo¡@514
18.3¡@ºÏ³õ¶Ç·P¾¹¡@514
18.3.1¡@ºÏ³õ¶Ç·P¾¹Â²¤¶¡@514
18.3.2¡@®×¨Òªº¶}µo¡@514
18.4¡@¥ú¶Ç·P¾¹¡@516
18.4.1¡@¥ú¶Ç·P¾¹Â²¤¶¡@516
18.4.2¡@®×¨Òªº¶}µo¡@516
18.5¡@·Å«×¶Ç·P¾¹¡@518
18.5.1¡@·Å«×¶Ç·P¾¹Â²¤¶¡@518
18.5.2¡@®×¨Òªº¶}µo¡@518
18.6¡@±µªñ¶Ç·P¾¹¡@519
18.6.1¡@±µªñ¶Ç·P¾¹Â²¤¶¡@519
18.6.2¡@®×¨Òªº¶}µo¡@520
18.7¡@«ººA¶Ç·P¾¹¡@521
18.7.1¡@«ººA¶Ç·P¾¹Â²¤¶¡@521
18.7.2¡@®×¨Òªº¶}µo¡@522
18.8¡@¥»³¹¤pµ²¡@528

²Ä19³¹¡@´åÀ¸¶}µo¤p¶K¤h¡@529
19.1¡@3D¬B¨ú§Þ³N¡@529
19.1.1¡@®×¨Ò®ÄªG»P°ò¥»­ì²z¡@529
19.1.2¡@¶}µo¨BÆJ¡@531
19.2¡@¦hÂIIJ±±¡@537
19.2.1¡@®×¨Ò®ÄªG»P°ò¥»­ì²z¡@537
19.2.2¡@¶}µo¨BÆJ¡@538
19.3¡@¦hÁäºÊÅ¥¡@541
19.3.1¡@®×¨Ò®ÄªG»P°ò¥»­ì²z¡@541
19.3.2¡@¶}µo¨BÆJ¡@542
19.4¡@¥»³¹¤pµ²¡@544

²Ä20³¹¡@BNÁɸ¥¡@545
20.1¡@´åÀ¸­I´º¤Î¥\¯à·§­z¡@545
20.1.1¡@­I´º·§­z¡@545
20.1.2¡@¥\¯à¤¶²Ð¡@545
20.2¡@´åÀ¸ªºµ¦¹º¤Î·Ç³Æ¤u§@¡@547
20.2.1¡@´åÀ¸ªºµ¦¹º¡@547
20.2.2¡@Android¥­»O¤U´åÀ¸ªº·Ç³Æ¤u§@¡@548
20.3¡@´åÀ¸ªº¬[ºc¡@552
20.3.1¡@¦U­ÓÃþ²­n¤¶²Ð¡@553
20.3.2¡@´åÀ¸®Ø¬[²¤¶¡@558
20.4¡@¥D±±¨îÃþMyActivity¡@559
20.5¡@2D¬É­±¬ÛÃöÃþ¡@563
20.5.1¡@Åwªï¬É­±ÃþWelcomeView¡@563
20.5.2¡@2D¬É­±¤÷ÃþMySFView¡@565
20.5.3¡@¥Dµæ³æÃþMenuView¡@565
20.5.4¡@2D¬É­±Ã¸¨îÃþViewForDraw¡@566
20.5.5¡@¼Æ¾Ú®w¤u¨ãÃþDBUtil¡@568
20.5.6¡@Android¨t²Îª©¥»¹ï¸Ü®ØAndroidVersionDialog¡@570
20.6¡@¿ï²î¬É­±¬ÛÃöÃþ¡@570
20.6.1¡@µÛ¦â¾¹ºÞ²zÃþShaderManager¡@571
20.6.2¡@³òùÙÃþColorLightRect¡@571
20.6.3¡@¿ï²î©Ð¶¡ÃþHouseForDraw¡@573
20.6.4¡@®i»OÃþDisplayStation¡@575
20.6.5¡@Áɸ¥ÃþBoat¡@576
20.6.6¡@¿ï²î¬É­±XCSurfaceView¡@576
20.7¡@´åÀ¸¬É­±¬ÛÃöÃþ¡@582
20.7.1¡@¶i«×±øÃþProcess¡@583
20.7.2¡@3Dª«Åé¤÷ÃþBNDrawer¡@584
20.7.3¡@3Dª«Åé±±¨îÃþTDObjectForControl¡@584
20.7.4¡@Áɸ¥ÃþBoat¡@585
20.7.5¡@¥i¸I¼²ª«Åé¤÷ÃþKZBJDrawer¡@586
20.7.6¡@¥i¸I¼²ª«Åé±±¨îÃþKZBJForControl¡@587
20.7.7¡@Áɸ¥»P¥i¸I¼²ª«ÅéÀË´ú¸I¼²½uµ{ThreadColl¡@589
20.7.8¡@¥i¦Yª«Åé¤÷ÃþSpeedForEat¡@590
20.7.9¡@¥i¦Yª«Åé±±¨îÃþSpeedForControl¡@590
20.7.10¡@´¹Åé±ÛÂà½uµ{RotateThread¡@592
20.7.11¡@Áɸ¥»P´¹Åé¸I¼²ÀË´ú½uµ{ThreadForEat¡@592
20.7.12¡@¤ñ¸û¨âÄé¤ì¶ZÂ÷Äá¹³¾÷¶ZÂ÷ÃþMyComparable¡@593
20.7.13¡@³æ­ÓÄé¤ìÃþSingleShrub¡@594
20.7.14¡@Äé¤ì±±¨îÃþShrubForControl¡@595
20.7.15¡@Áɸ¥ÁɹDÃþRaceTrack¡@596
20.7.16¡@Áɸ¥»P¾ô¸I¼²ÀË´úÃþPZZ¡@598
20.7.17¡@Áɸ¥¹B°Ê¸ô½u¤u¨ãÃþPathUtil¡@598
20.7.18¡@§À®öÃþWeiLang¡@599
20.7.19¡@¤ô­±ÃþWater¡@600
20.7.20¡@´åÀ¸¬É­±ÃþMyGLSurfaceView¡@601
20.7.21¡@¹B°ÊºÊÅ¥½uµ{KeyThread¡@611
20.8¡@¸Ó´åÀ¸¤¤ªºµÛ¦â¾¹¡@613
20.9¡@´åÀ¸ªºÀu¤Æ»P§ï¶i¡@615

²Ä21³¹¡@¤õ¤OÄx²y¡@616
21.1¡@´åÀ¸­I´º¤Î¥\¯à·§­z¡@616
21.1.1¡@­I´º·§­z¡@616
21.1.2¡@¥\¯à¤¶²Ð¡@616
21.2¡@´åÀ¸ªºµ¦¹º¤Î·Ç³Æ¤u§@¡@618
21.2.1¡@´åÀ¸ªºµ¦¹º¡@618
21.2.2¡@Android¥­»O¤U´åÀ¸¶}µoªº·Ç³Æ¤u§@¡@619
21.3¡@´åÀ¸ªº¬[ºc¡@620
21.3.1¡@¦U­ÓÃþ²­n¤¶²Ð¡@620
21.3.2¡@´åÀ¸®Ø¬[²¤¶¡@623
21.4¡@¤½¦@ÃþBasketBall_Shot_Activity¡@624
21.5¡@»²§U¬É­±¬ÛÃöÃþ¡@631
21.5.1¡@¥Dµæ³æ¬É­±CaiDanViewÃþ¡@631
21.5.2¡@³]¸m¬É­±ShengyinKGJiemianÃþ¡@636
21.5.3¡@Ãö¤_¬É­±GuanYuViewÃþ¡@640
21.5.4¡@°O¿ý¬É­±JiLuViewÃþ¡@644
21.5.5¡@¼Æ¾Ú®w¬ÛÃöÃþSQLiteUtil¡@650
21.6¡@´åÀ¸¬É­±¬ÛÃöÃþ¡@651
21.6.1¡@´åÀ¸¬É­±Ã¸¨îÃþGLGameView¡@651
21.6.2¡@µÛ¦â¾¹µ{§ÇºÞ²z¾¹ÃþShaderManager¡@668
21.6.3¡@²K¥[­èÅé¶iª«²z¥@¬ÉÃþTianjiaBody¡@669
21.6.4¡@²K¥[½¦Ån­èÅé¶iª«²z¥@¬ÉÃþJiaoNangTianjiaBody¡@670
21.6.5¡@Äx²y±±¨îÃþBasketBallForDraw¡@671
21.6.6¡@¯¾²z¯x§Îø¨îÃþWenLiJuXing¡@672
21.7¡@´åÀ¸¤¤µÛ¦â¾¹ªº¶}µo¡@674
21.7.1¡@¯¾²zªºµÛ¦â¾¹¡@674
21.7.2¡@¥ú·ÓµÛ¦â¾¹¡@675
21.7.3¡@¼v¤lµÛ¦â¾¹¡@677
21.7.4¡@»öªí½L­I´ºµÛ¦â¾¹¡@679
21.7.5¡@ÄxºôµÛ¦â¾¹¡@680
21.8¡@´åÀ¸ªºÀu¤Æ»P§ï¶i¡@681

²Ä22³¹¡@©]ÆN¦æ°Ê¡@682
22.1¡@´åÀ¸­I´º¤Î¥\¯à·§­z¡@682
22.1.1¡@­I´º·§­z¡@682
22.1.2¡@¥\¯à¤¶²Ð¡@682
22.2¡@´åÀ¸ªºµ¦¹º¤Î·Ç³Æ¤u§@¡@685
22.2.1¡@´åÀ¸ªºµ¦¹º¡@686
22.2.2¡@Android¥­»O¤U´åÀ¸¶}µoªº·Ç³Æ¤u§@¡@686
22.3¡@´åÀ¸ªº¬[ºc¡@690
22.3.1¡@¦U­ÓÃþªºÂ²­n¤¶²Ð¡@690
22.3.2¡@´åÀ¸®Ø¬[²¤¶¡@694
22.4¡@¤½¦@ÃþAircraft_Activity¡@695
22.5¡@´åÀ¸¬ÛÃöÃþ¡@698
22.5.1¡@´åÀ¸¬É­±Ã¸¨îÃþGLGameView¡@698
22.5.2¡@´åÀ¸½uµ{ÃþKeyThread¡@712
22.5.3¡@¤l¼uÃþBulletForControl¡@726
22.5.4¡@©Z§JÃþTanKe¡@732
22.5.5¡@¤s¦aø¨îÃþLandForm¡@737
22.5.6¡@ÃC¦â¶ê­±ÃþCircleForDraw¡@739
22.5.7¡@¬PªÅÃþSkyNight¡@740
22.5.8¡@Ãz¬µ®ÄªGø¨îÃþDrawBomb¡@742
22.5.9¡@¼Æ¦rø¨îÃþNumberForDraw¡@743
22.6¡@¸Ó´åÀ¸¤¤ªºµÛ¦â¾¹¡@744
22.6 .1¡@¥[¸ü¬É­±µÛ¦â¾¹¡@744
22.6.2¡@¦a§ÎµÛ¦â¾¹¡@745
22.6.3¡@«ö¶sµÛ¦â¾¹¡@747
22.6.4¡@¬PªÅµÛ¦â¾¹¡@748
22.6.5¡@¥Í©R­È¯x§ÎµÛ¦â¾¹¡@748
22.6.6¡@ÃC¦â¶ê­±µÛ¦â¾¹¡@748
22.7¡@´åÀ¸ªºÀu¤Æ»P§ï¶i¡@749
§Ç¡G