3Dpºâ¾÷¹Ï§Î¾Ç°ò¦ ( ²Åé ¦r) |
§@ªÌ¡G[¬ü]¥v¸¦¤å¡PJ.¤à¯S°Ç¡]Steven J. Gortler¡^µÛ ®L®É¬x °ªªL Ķ | Ãþ§O¡G1. -> ±Ð§÷ -> ¼Æ¦ì¼v¹³³B²z |
ĶªÌ¡G |
¥Xª©ªÀ¡G²MµØ¤j¾Ç¥Xª©ªÀ | 3dWoo®Ñ¸¹¡G 53707 ¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I¡i¯Ê®Ñ¡j NT°â»ù¡G 295 ¤¸ |
¥Xª©¤é¡G10/1/2020 |
¶¼Æ¡G213 |
¥úºÐ¼Æ¡G0 |
|
¯¸ªø±ÀÂË¡G |
¦L¨ê¡G¶Â¥Õ¦L¨ê | »y¨t¡G ( ²Åé ª© ) |
|
¥[¤JÁʪ«¨® ¢x¥[¨ì§Úªº³Ì·R (½Ð¥ýµn¤J·|û) |
ISBN¡G9787302561057 |
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç |
(²Åé®Ñ¤W©Òz¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, YŪªÌ»Ýn½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ) |
§@ªÌ§Ç¡G |
ĶªÌ§Ç¡G |
«e¨¥¡G±À ÂË §Çpºâ¾÷¹Ï§Î¾Ç¤w¸g¦¨¥\À³¥Î¤_pºâ¾÷»²§U³]p»P¨î³y¡B¬ì¾Çpºâ¥iµø¤Æ¡B°Êµe»P¹q¼v¨î§@¡B¹Ï§Î¥Î¤á¬É±¡BµêÀÀ²{¹êµ¥»â°ì¡C¯S§O¦a¡AACM±N2019¦~¡§¹ÏÆF¼ú¡¨±Â¤©Edwin E. Catmull»PPatrick M. Hanrahan¡A¥Hªí¹ü¨ä¬°3Dpºâ¾÷¹Ï§Î¾Ç°µ¥Xªº°ò¦°^Äm¡Cªñ¦~¨Ó¡A3Dpºâ¾÷¹Ï§Î¾Ç¥¿¦b³v¨B³Q¤Þ¥Î¨ì¥H²`«×¾Ç²ß¬°¥Nªíªº¤H¤u´¼¯à»â°ì¡C¦]¦¹¡A¡m3Dpºâ¾÷¹Ï§Î¾Ç°ò¦¡nªº¥Xª©¤£¶È¬O¹Ï§Î¾Ç¾Ç¬ì«Ø³]©M¤H¤~°ö¾iªº»Ý¨D¡A¤]¬O¬ÛÃö¬ì¾Ç§Þ³Nµo®iªº»Ýn¡C ³o¥»±Ð§÷½Ķ¦Û«¢¦ò¤j¾Ç±Ð±ÂSteven J. GortlerªºµÛ§@Foundations of 3D Computer Graphics¡C¸ÓµÛ§@¤_2012¦~¥Ñ¬ü°ê³Â¬Ù²z¤u¾Ç°|¥Xª©ªÀ¥Xª©¡C¸Ó®Ñµ²ºc»á¦³¯S¦â¡A¤@¶}©l´N¤¶²ÐOpenGL¬ÛÃöª¾ÃÑ¡AÅý¾Ç¥Í«Ü§Ö¥i¥H¶i¤J°ª¯Å¹Ï§Î½sµ{¶¥¬q¡C¨ä¦¸¡A±Ð§÷¤º®e»á¬°Â×´I¡A¤£¶È¯A¤ÎÅÜ´«¡B¤Tºû¬Û¾÷¼Ò«¬µ¥°ò¦ª¾ÃÑ¡AÁÙ¦³¦±½u¦±±ªí¥Ü¡B°ª«×¯u¹ê·Pø¨î³¡¤À¡A¥H¤Î¤Tºû«Ø¼Ò¡B°Êµeµ¥»P¬ã¨s¥Í¬ã¨s½ÒÃD¬ÛÃöªº°ª¶¥¤º®e¡C¦¹¥~¡A¸Ó®Ñ«µø¹Ï§Î¾Ç«n·§©Àªº¼Æ¾Ç°ò¦¡A¥B¼Æ§Îµ²¦X¡B¹Ï¤å¦}Z¡C¬°¤FÀ°§U¾Ç¥Í¥[²`¹ïpºâ¾÷¹Ï§Î¾Ç·§©Àªº²z¸Ñ¡A®Ñ¤¤¤£¶Èµ¹¥X¼Æ¾Çì²z¤Î¤½¦¡±À¾É¡A¦Ó¥B´£¨ÑOpenGL¥Ü¨Ò¥N½X©M¹B¦æµ²ªG¡C¦]¦¹¡A¸Ó®Ñ¬O¤@¥»»á¦³¤ô·Çªº±Ð§÷¡A¾A¦X¤_¬ã¨s¥Í©M°ª¦~¯Å¥»¬ì¥Í¾Ç²ß3Dpºâ¾÷¹Ï§Î¾Çªº°ò¥»²z½×©M«nºâªk¡C ĶªÌ¦bpºâ¾÷¹Ï§Î¾Ç»PµêÀÀ²{¹ê»â°ì¦³¦h¦~ªº¬ã¨s¸gÅç©M¨}¦nªº¬ã¨s°ò¦¡A¨ú±o¤F½Ñ¦h°ª¤ô¥¬ã¨s¦¨ªG¡A¿n²Ö¤FÂ×´Iªºpºâ¾÷¹Ï§Î¾Ç«eªuª¾ÃÑ¡A¤]«ü¾É¤F¦h©¡¸Ó»â°ìªº¬ã¨s¥Í¡A¿n²Ö¤FÂ×´Iªº°ö¾i«ü¾É¾Ç¥Í¤è±ªº¸gÅç¡C¦b½Ķ¹Lµ{¤¤¡AĶªÌ©¾¹ê¤_^¤åìµÛ¡A«OÃÒ¤F¸Ó±Ð§÷°ª½è¶qªº¥Xª©¡C ¸Ó±Ð§÷ªº¥Xª©¥²±N¦b§Ú°êpºâ¾÷¹Ï§Î¾Ç¤Î¬ÛÃö»â°ìÀu¨q¤H¤~°ö¾i¤¤µo´§¿n·¥§@¥Î¡C
2020¦~7¤ë¡»3Dpºâ¾÷¹Ï§Î¾Ç°ò¦¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P ì®Ñ«e¨¥³o¥»®Ñ¨Ó·½¤_§Ú¦b«¢¦ò¤j¾Ç¶}±Âªºpºâ¾÷¹Ï§Î¾Ç½Òµ{¡C1996¦~¦Ü¤µ¡A§Ú±Ð±Â¹L«Ü¦hÀu¨qªº¾Ç¥Í¡A¤]¦¬Àò«Ü¦h±Ð¾Çªº¼Ö½ì¡C¾Ç¥Í̦b½Ò°ó¤W´£¥X¹L«Ü¦h¦n°ÝÃD¡A±q³o¨Ç°ÝÃD¤¤¡A§Ú¸g±`·NÃѨì¦Û¤v¦b½Ò°ó¤Wªº¤@¨Ç¸ÑÄÀ¦³ÂI¯ó²v¡A¦Ó¥B¦³®É¦}¨S¦³§¹¥þ²z¸Ñ¦Û¤v·Q¸ÑÄÀªº¸ÜÃD¡C³o¾ÉP¤F§Ú¹ï±Ð§÷ªº¤Ï«ä©M¥¼¨Ó±Ð¾Çªº³Ð·s¡A¦}±N³o¨Ç·sªº·Qªk¿Ä¤J¥»®Ñ¤¤¡C³o¥»®Ñªº¾ãÓ½Òµ{¤£¶È²[»\¤F°ò¥»ª¾ÃÑÂI¡AÁÙ¦P®É±j½Õ¤F¹ï¤@¨Ç§ó¥[²Ó¸`·§©Àªº²z¸Ñ¡C ¦b³o¥»®Ñ¤¤¡A§Ú̱N¤¶²Ð¥Í¦¨3Dpºâ¾÷¹Ï§Î©Ò»Ýªº°ò¥»ºâªk»P§Þ³N¡C§Ú̱N¤¶²Ð¥Îºâªkªí¥Ü©M³B²z3D§Îª¬ªº°ò¥»«ä·Q¡A¥H¤Î¦p¦ó¨Ï¥Îºâªk¼ÒÀÀ¬Û¾÷¡A±N³o¨Ç3D¼Æ¾ÚÂà´«¬°¥Ñ«Ì¹õ¤WªºÂ÷´²ÂI©Î¹³¯À¶°²Õ¦¨ªº2D¹Ï¹³¡C¤§¦Z¡A§ÚÌÁÙ±N¦b¥»®Ñ¤¤°Q½×¤@¨Ç§ó°ª¯Åªº¥DÃD¡A¥]¬AÃC¦â©M¿O¥úªí¥Üªº°ò¦ª¾ÃÑ¡B¥Í¦¨·Ó¤ù¯Å¯u¹ê·P¹Ï¹³ªº¥ú¼ÒÀÀ¡B´X¦ó«Ø¼Ò¥H¤Î¥Í¦¨°Êµe¹Ï§Îªº¦UºØ¤èªk¡C ¦b¥»®Ñ¤¤¡A§Ú̱N¤¶²ÐAPI¤W¼h©M¤U¼hªºª¾ÃÑ¡A¦h¼Æ¤º®e(¤×¨ä¬O«e§Ç³¹¸`)¬O¾Ç²ß3Dpºâ¾÷¹Ï§Î¾Ç®É»Ý¤F¸Ñªº°ò¦ª¾ÃÑ¡C§Ṳ́]¤¶²ÐOpenGLªº¤º³¡¬yµ{¡A³o¹ï¤_¤@ÓÀu¨qªº¹Ï§Î¾Ç±q·~ªÌ¤×¬°¥²n¡C¦}¥B¡A¤F¸Ñpºâ¾÷¹Ï§Î¾Çpºâ³]¬Iªº¤u§@ì²z©M¤u§@¤è¦¡¥»¨´N¥O¤HµÛ°g¡C ¥»®Ñ¤£¯A¤Îpºâ¾÷¹Ï§Î¾Ç¤¤µw¥ó©M½sĶ¾¹ªº¬ÛÃöª¾ÃÑ¡A¤]¤£·|¹L«×Ãöª`2Dpºâ¾÷¹Ï§Î¾Ç©Î¤H¾÷¥æ¤¬±µ¤f¡A³o¨Ç¥DÃD¥»¨³£¬Û·í¦³½ì¡A¦ý»P3Dpºâ¾÷¹Ï§Î¾Çªººâªk¼h±ºIµM¤£¦P¡C ¦]¬°«Ü¦hpºâ¾÷¹Ï§Î¾Ç§Þ³N°ò¤_OpenGL¡A·f«Ø¤@Ó¡§°ò¤_¥ú¬]¤Æ¡¨ªº¹ê®É´è¬VÀô¹Ò¡A¦Ó¤£¬Oªö¥Î½Ñ¦p¡§°ò¤_¥ú½u¸òÂÜ¡¨ªºÀô¹Ò¡A©Ò¥H¥»®Ñ¤]³ò¶¨ä¶i¦æÁ¿¸Ñ¡C¼sªx¦aÁ¿¡A±q¨Æ3D¹q¤l´åÀ¸»â°ìªº©Ò¦³¤u§@ªÌ§¡»Ý´x´¤³o¥»±Ð§÷(¥H¤Î§ó¦hª¾ÃÑ)¡C§Ú̯S·N¿ï¾Ü¤FOpenGL API(°ò¤_GLSLµÛ¦â»y¨¥)¡A¦]¬°¥¦¥i¥H¸ó¦hÓpºâ¥»O¹B¦æ¡C ¡»3Dpºâ¾÷¹Ï§Î¾Ç°ò¦ì®Ñ«e¨¥¥»®Ñ¾A¥Î¤_¦Ü¤Ö¦³¤@¦~½sµ{¸gÅ窺pºâ¾÷¬ì¾Ç¡B¼Æ¾Ç¡Bª«²z¾Ç±M·~ªº°ª¦~¯Å¥»¬ì¥Í¡A¥B»Ýn¹ï½u©Ê¥N¼Æ¦³°ò¥»ªº¤F¸Ñ¡C ¹ï¤_±Â½Ò ¤U±±N¤¶²Ð¤@¨Ç»Ýn¯S§Oª`·Nªº²Ó¸`°ÝÃD¡A³o¨Ç°ÝÃD»Ýn²`¨s¤~¯à²z¸Ñ³z¹ý¡A¦ý¬O¸g±`¦b±Ð¾Ç¹Lµ{¤¤¥¼³Q¸ÑÄÀ²M·¡¡A§Ú§Æ±æ¾Ç¥Í̯à¦b¥»®Ñ¤¤´x´¤³o¨Ç¤º®e¡C ªþ¿ýA: ¥Ñ¤@Ӻɥi¯à²³æªºOpenGLµ{§Ç¶}©l¡AOpenGLªº¥Î³~¬OºÞ²zµÛ¦âµ{§Ç¡B³»ÂI½w¨R°Ï¹ï¶H©M¯¾²z¡C¦]¬°§Ú̱N¨Ï¥Î²{¥Nª©¥»ªºOpenGL¡A¼y©¯ªº¬O³Ñ§E»ÝnÁ¿±ÂªºAPIª¾ÃѤ£¬O¤Ó¦h¡C¥»®Ñ¤£¯A¤Î¥ô¦óª©ªºOpenGLª¾ÃÑ¡A¥¦Ì¦}¥¼¥X²{¦b²{¥Npºâ¾÷¹Ï§Î¾Ç½sµ{¤¤¡C ²Ä2¡ã4³¹: ¦bpºâ¾÷¹Ï§Î¾Ç¤¤¡A»Ýn±qµL§¤¼Ð©M¥þ§¤¼Ðªº¨¤«×¦Ò¼{ÂI©M¦V¶q¡C§ÚÌ©¹©¹¨Ï¥Î§¤¼Ð±o¨ì¤@ºØ¨ãÅ骺ªí¥Ü§Î¦¡¡A³Ì²×¥Í¦¨´è¬V¹Ï¹³¡C¦ý¦b¤£¦P§¤¼Ð¨t¤U¡AÂIªºªí¥Ü©MÅÜ´«³q±`¤Q¤À«n¡A»Ýª`·N¥H¤U´XÂI¡C ’õ °Ï¤À¤@Ó´X¦óÂI©M¦b¬Y§¤¼Ð¨t¤Uªí¥Ü¸ÓÂIªº§¤¼Ð¡C ’õ ¨Ï¥Î²Å¸¹¨Ó²M´·¦a¼Ð°O¤@²Õ°ò¡A¸Ó°ò¥Î¤_ªí¥Ü¤@²Õ§¤¼Ð¨t¡C ’õ °Ï¤À¼Ð°O¯x°}¤èµ{©M¯x°}ªí¹F¦¡ªº²Å¸¹¡A¨ä¤¤¡A¯x°}¤èµ{ªí¥Ü°òÅÜ´«¡A¯x°}ªí¹F¦¡ªí¥ÜÂIªº´X¦óÅÜ´«¡C ³Ì²×¤Þ¥X©Ò¿×ªº¥ª©w«h(leftúQof rule)¡A¥¦¥i¥H§ó¦n¦a¸ÑÄÀ¯x°}ªí¹F¦¡¦}©ú½TÅÜ´«ªº°ò¡C §Æ±æ³q¹L´x´¤³o®M²M´·ªº²Å¸¹¾÷¨î¡A¾Ç¥Í©ö¤_²z¸Ñ¦p¦ó¶i¦æ´_ÂøªºÅÜ´«¡C³o¤£¦P¤_¡§¦bµ{§Ç°õ¦æ¥¿½Tªº¾Þ§@¤§«e¹Á¸Õ¤j¶q±Æ§Ç©M¯x°}§Ç¦Cªº°f¹Bºâ¡¨ªº¤èªk¡A¸Ó·Qªk³Ìªì·½¤_Tony DeRose ªº¤â½Z ¡e16¡f¡C ²Ä5¡B6³¹: ´yz¤@Ó³B²zpºâ¾÷¹Ï§Î¾Ç§¤¼Ð¨tªº²Õ´®Ø¬[¡A¥H¤Î¦p¦ó±N¨äÂà´«¬°Â²³æªº3D OpenGL¥N½X¡C§Ú̱q¤¤±o¥X¤F¨Ï¥Î¡§²V¦X»²§U§¤¼Ð¨t¡¨²¾°Êª«Å骺¦³®Ä¤èªk¡C¨Ò¦p¡A³o¨Ï±o§ÚÌ¥i¥H¥¿½T¦a³ò¶¨ä¤¤¤ß±ÛÂફÅé¡A¦ý¨ä¤è¦V¦ÛµM¹ïÀ³¤_«Ì¹õ¤Wªº¤è¦V¡C ²Ä7³¹: ²n¤¶²Ð¤@Ó¥|¤¸¼Æªí¥Ü§Î¦¡¥H´yz±ÛÂà¡C¥»®ÑÁÙ±À¾É¤F¦p¦ó²Õ¦X¥|¤¸¼Æ©M¥²¾¦V¶q¡A¥H©w¸q¤@ÓèÅéÅÜ´«¼Æ¾ÚÃþ«¬¡A¨Ï¨ä¥i¥H¹³¯x°}¤@¼Ë¶i¦æ¼ªk©M¨D°f¹Bºâ¡C ²Ä8³¹: ²n¤¶²Ðy¸ñ²y©M©·²y±ÛÂ઺±µ¤f¡A¦}»¡©úy¸ñ²y±µ¤fªº¹«¼Ð¸ô®|µLÃö©Ê¡C ²Ä9³¹: ²n¤¶²ÐBezier©MCatmullúQRom¼Ë±ø¡C ²Ä10¡ã13³¹: ¤¶²Ð¨Ï¥Î4¡Ñ4¯x°}¼ÒÀÀ¬Û¾÷§ë¼vªº¤èªk¡A¥H¤ÎOpenGL¤¤¯S©w¨ç¼Æªº¹Bºâ¡C¯S§Oª`·N¬°¥iÅÜÅܶq±À¾É¥¿½Tªº´¡È¤½¦¡¡A¦³Ãö¥é®g¨ç¼Æ©M´¡ÈªºI´º©Ý®iª¾ÃѰѨ£ªþ¿ýB¡AJim Blinn¡e5¡f§¹¬ü¦a¸ÑÄÀ¤F¦h¼Æ²Ó¸`¤º®e¡C³o¨Ç³¹¸`±N¤£¦A¸Ô²Ó¤¶²Ðµô°Å©M¥ú¬]¤Æºâªk¡C ²Ä14¡B15³¹: ¬°º©¤Ï®g¡B¤Ï¥ú©M¦U¦V²§©Ê§÷®Æµ¹¥X²³æªº¼Ë¨ÒµÛ¦â¾¹¡A¥H¤Î¤@¨Ç°ª¯Åªº¹ê®É´è¬V§Þ³N¡A¦p¦h³q¹D´è¬V©M³±¼v¬M®g¡C¸ÛµM¡A¦¹³¡¤À¹L¤_²µu¡A·Q¥²°l¨D§ó°ª¶¥´è¬V§Þ¯àªº¾Ç¥Í±N»Ý¾Ç²ß§ó¦h²{¥N¹ê®É´è¬V¤¤¤£Â_µo®iªº§Þ³N(©M§Þ¥©)¡C ²Ä16¡ã18³¹: ¤¶²Ð¨Ï¥ÎÂoªipºâÂ÷´²¹Ï¹³ªºì¦]¡A¥H¤Î³q¹L°ò¨ç¼Æ««Ø³sÄò¹Ï¹³ªº¤èªk¡A¯S§O¬O¦p¦ó±N³o¨âÓ«ä·Qµ²¦X°_¨Ó¡A¥H¦b¯¾²z¬M®g´Á¶¡¥¿½T¦aÀò±oÂoªi(Paul HeckbertªººÓ¤h½×¤å¡e28¡f)¡C¸Ó³¡¤À¤£²`¤J¬ã¨s³Å¨½¸¤ÀªRªº²Ó¸`¤º®e¡A¦]¬°¥¦°¾Â÷¤F¥»®Ñ¥D½u(Á`¤§¡A³Ì²×¨Ï¥Î²°¦¡Âoªi¾¹)¡C ²Ä19³¹: ¤¶²Ð¤HÃþ¦â±m·Pª¾ªº°ò¥»²z½×¡C±q¼Æ¾Çªº¨¤«×¨Ó¬Ý¡A§Ú̸չϩú½TÃC¦âªº©w¸q¡A¤Î¨ä§Î¦¨½u©ÊªÅ¶¡ªºì²z¡A¬ÛÃö½×z°Ñ¨£Feynman¡¦s Lectures¡e20¡f¡C°w¹ï¦h¼ÆÃC¦âpºâªº§Þ³N°ÝÃD¡A¥»®Ñ°Ñ¦Ò¤FCharles Poynton¹ïÃC¦â±`¨£°ÝÃDªº¸Ñµª¡e58¡f¡C ²Ä20³¹: §¹¾ã°_¨£¡A²n¤¶²Ð¥ú½u¸òÂÜpºâ¡C¥Ñ¤_¥¦¤£¬O½Òµ{ªº«ÂI¡A¦]¦¹¥»®Ñ¶È´£¤Î¸Ó¥DÃD¡C ²Ä21³¹: ¤Þ¤J¯u¹ê·P´è¬V¤¤ªº°ª¶¥¥DÃD¡A¸Ô²Ó¤¶²Ð´yz¥úªºª«²z³æ¤¸¥H¤Î¤Ï®g¡B´è¬V©M«×¶q¤èµ{¡C¨Ò¦p¡A§Ú̱K¤ÁÃöª`¨Ï¥Î¯S©w³æ¦ì«×¶q¤Ï®gªºì¦]¡C¦³Ãö°ò¦ª¾ÃѤΧó¦h¤º®e°Ñ¨£Eric Veachªº³Õ¤h½×¤å¡e71¡f¡C ²Ä22³¹: ·§zù¦Cpºâ¾÷¹Ï§Î¾Ç¤¤¦±±ªº«Ø¼Ò©Mªí¥Ü¤èªk¡C²n¤¶²Ð¸Ó³¡¤À¡A¦Ó«D§Þ³N©Ê¦a°Q½×¡C§Ú̪º½T±´¨s¤F¨¬°÷ªº²Ó¸`¡A¥H¹ê²{CatmullúQRom ²Ó¤À¦±±(°²³]¾Ö¦³¤è«Kªººô®æ¼Æ¾Úµ²ºc)¡A¦]¬°¸Ó¤èªk¥i¥H§Ö³t²³æ¦aªí¥Ü¦±±ÁL¡C ²Ä23³¹: ·§zpºâ¾÷¹Ï§Î¾Ç¤¤¹ê²{°Êµeªº¤èªk¡C»P¤W¤@³¹Ãþ¦ü¡A¥»³¹¶È§@²³æ¤¶²Ð¡A¦Ó«D§Þ³N©Ê¦a°Q½×¡CCMUºô¯¸¤WAdrien Treuille³Õ¤hªº°Êµe½Òµ{¥i§@¬°¸Ó»â°ìÀu¨qªº¤Jªù¸ê®Æ¡C ¥»®Ñ¤º®eÂ×´I¦h±m¡AµLªk¦b¤@¾Ç´Á¤º¥þ³¡±Ð±Â§¹²¦¡C¥¦¤]¦}¤£¬O¤@¥»¦Ê¬ì¥þ®Ñ¡A¥u¬O¸Õ¹Ï²[»\pºâ¾÷¹Ï§Î¾Ç²z½×©M¹ê½î¤¤ªº©Ò¦³¥DÃD¡C¦¹¥~¡A¥»®Ñ»P¥Ø«e¼sªx¨Ï¥Îªº±Ð§÷¸ûÃþ¦ü¡A¤£¯A¤Î¤@¨Ç³Ì·sªº¬ì¬ã¦¨ªG©M«ä·Q¡A¥¼¨Ó¥¦Ì¥i¯à¦¨¬°¼Ð·Ç¹ê½îªº¤@³¡¤À¡C
PÁ ¦b½s¼g¦¹®Ñªº¤@¦~¤¤¡A§Ú¦¬¨ì¤FHamilton Chong¡BGuillermo DiezúQCanas©MDylan Thurston¬°¥»®Ñ´£¨Ñªº¤j¶qÀ°§U¡C ·PÁÂJulie Dorsey¡BHugues Hoppe¡BZoe Wood¡BYuanchen Zhu©MTodd Zickler¬°¥»®Ñ´£¨Ñªº½Ñ¦hÄ_¶Q«Øij¡C ·PÁÂGilbert Bernstein¡BFredo Durand¡BLadislav Kavan¡BMichael Kazhdan©MPeterúQPike Sloan¬°¥»®Ñ§@µû¡C ·PÁÂXiangfeng Gu¡BDanil Kirsanov¡BChris Mihelich¡BPedro Sander©MAbraham Stone¦b³oªù½Òµ{ªº³]p´Á¶¡µ¹¤©ªº·¥¤jÀ°§U¡C ³Ì¦Z¡A·PÁ¦b¥»½Òµ{¤¤¾á¥ô¹L§U±Ðªº©Ò¦³Àu¨q¾Ç¥Í¡A¥L̬°³o¥»±Ð§÷ªº³Ð·s§@¥X¤F³\¦h°^Äm¡A¥L̬OBrad Andalman¡BKeith Baldwin¡BForrester Cole¡BAshley Eden¡BDavid Holland¡BBrad Kittenbrink¡BSanjay Mavinkurve¡BJay Moorthi¡BDoug Nachand¡BBrian Osserman¡BEd Park¡BDavid Ryu¡BRazvan Surdulescu©MGeetika Tewari¡C¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P¡P Ķ ªÌ §Çpºâ¾÷¹Ï§Î¾Ç¬O¥Îpºâ¾÷¬ã¨s¹Ï§Îªºªí¥Ü¡B¥Í¦¨¡B³B²z©MÅã¥Üªº¤@ªùpºâ¾÷¤À¤ä¾Ç¬ì¡A¤w¸g¦¨¥\À³¥Î¤_pºâ¾÷»²§U³]p»P¨î³y¡B¬ì¾Çpºâ¥iµø¤Æ¡B°Êµe»P¹q¼v¨î§@¡B¹Ï§Î¥Î¤á¬É±¡BµêÀÀ²{¹êµ¥»â°ì¡C§@¬°¤@ºØpºâ§Þ³N¡Apºâ¾÷¹Ï§Î¾Ç¤w¸g¥B¥²±NÄ~Äòµo´§¨ä°ò¦©Ê§@¥Î¡C ¦Û2015¦~¥H¨Ó¡AĶªÌ¨ü¸u¤_¤¤°ê¬ì¾Ç°|¤j¾ÇÁ¿±Â¬ã¨s¥Íªº±M·~´¶¤Î½Ò¡§pºâ¾÷¹Ï§Î¾Ç¡¨¡C¦b±Ð¾Ç¹Lµ{¤¤¡AĶªÌµo²{¿ï׳oªù½Òµ{ªº¬ã¨s¥ÍI´º¤£¤@¡A¦}«D³£¬Opºâ¾÷¬ì¾Ç±M·~¡F§Y«K¬O¬ã¨s¥Í¶¥¬q¶i¤J¨ìpºâ¾÷¬ì¾Ç±M·~»â°ì¡A¨ä¦b¥»¬ì¶¥¬q¤]¤£¤@©w¾Ç²ß¹L¹Ï§Î¾Ç½Òµ{¡C¦]¦¹¡AĶªÌµÞ¥Í¤F¬°³oÃþI´º¤£¤@ªº¾Ç¥Í½s¼g¤@¥»Âл\±¼s¥B°ò¦©Ê±jªº¹Ï§Î¾Ç±Ð§÷ªº·Qªk¡C ĶªÌª`·N¨ì¤F«¢¦ò¤j¾Ç±Ð±ÂSteven J. GortlerªºµÛ§@Foundations of 3D Computer Graphics¡C¸ÓµÛ§@¤_2012¦~¥Ñ¬ü°ê³Â¬Ù²z¤u¾Ç°|¥Xª©ªÀ¥Xª©¡C¸Ó®Ñ³q¹L¤@ÓOpenGL¨Ò¤lº¥ý¬°ÅªªÌ§e²{¥X±N´X¦ó¼Ò«¬´è¬V¬°¹Ï¹³ªº¥þ»ª¡A¥Ñ¦¹¤¶²Ð±N´X¦óÂI¬M®g¨ì¹Ï¹³¹³¯Àªº¹Lµ{¡A¤Î¨ä¬ÛÃö°ò¥»·§©À©M«nºâªk¡A¥]¬AÅÜ´«©M§¤¼Ð¨t¡B±ÛÂà©M´¡È¡B¬Û¾÷¼Ò«¬©M¥ú¬]¤Æ¡B¹Ï¹³¹³¯À³B²zµ¥°ò¦ª¾ÃÑ¡CµM¦Z¡A¸Ó®Ñ¤¶²Ð¤@¨Ç°ª¯Å¥DÃD¡A¥]¬A°ª¯u¹ê·P´è¬V¡B´X¦ó«Ø¼Ò¡B°Êµeµ¥¤º®e¡C¸Ó®Ñ¥t¥~¤@ÓÅãµÛ¯SÂI¬O¡A¸Ô²Ó¤¶²Ð¹Ï§Î¾Ç¤¤«n·§©Àªº¼Æ¾Çì²z¡A¦}´£¨ÑOpenGL¥N½X©M¥Ü¨Ò¡C¦]¦¹¡AĶªÌ¿ï¾Ü¤F½Ķ³o¥»µÛ§@¡CŪªÌ¥i±½´y®Ñ¤¤ªº¤Gºû½XÆ[¬ÝìµÛ¤¤ªº±m¦â´¡¹Ï©M°Ñ¦Ò¤åÄm¡C¥»®Ñºô§}¬°http://www.3dgraphicsfoundations.com/code.html¡C ·PÁÂSteven J. Gortler±Ð±Â©M³Â¬Ù²z¤u¾Ç°|¥Xª©ªÀªº³\¥i©M¤ä«ù¡C·PÁ²MµØ¤j¾Ç¥Xª©ªÀ¤ä«ù¥Xª©¡A¦}À°§UĶªÌ¨ú±o¤F³Â¬Ù²z¤u¾Ç°|¥Xª©ªÀªºÂ½Ä¶¥Xª©Åv¡C·PÁ¤¤°ê¬ì¾Ç°|¤j¾Ç±Ð§÷¥Xª©¤¤¤ß¸ê§U¡C ·PÁ¤¤°ê¬ì¾Ç°|pºâ§Þ³N¬ã¨s©Òªº¬ã¨s¥Í´¿¤h°a¡B¤ýÅêü¡B°K¦tªN°Ñ»P¤F¥»®Ñªº³¡¤À½Ķ©M®Õ¹ï¤u§@¡C·PÁ²MµØ¤j¾Ç¥Xª©ªÀ½s¿èªº@¤ß©M¨¯¶Ô¤u§@¡C ·PÁ¤¤°ê¤uµ{°|°|¤h¡B¥_¨Ê¯èªÅ¯è¤Ñ¤j¾Ç±Ð±Â»¯¨G¥³Õ¤h¬°¥»±Ð§÷¶É±¡§@§Ç¡C ¥Ñ¤_ĶªÌ¤ô¥¦³¡AĶ¤å¤¤Ãø§K¦³¤£§´¤§³B¡A·q½ÐŪªÌ§åµû©M«ü¥¿¡C
®L®É¬x°ªªL2020¦~6¤ë¤_¥_¨Ê |
¤º®e²¤¶¡G¡m3Dpºâ¾÷¹Ï§Î¾Ç°ò¦¡n¦@¤À¬°23³¹©M¨âÓªþ¿ý¡Aº¥ýÁ¿¸Ñ¤F±N´X¦óÂI¬M®g¨ì¹Ï¹³¹³¯Àªº¹Lµ{¡A¤Î¨ä¬ÛÃö°ò¥»·§©À©M«nºâªk¡A¥]¬AÅÜ´«©M§¤¼Ð¨t¡B±ÛÂà©M´¡È¡B¬Û¾÷¼Ò«¬©M¥ú¬]¤Æ¡B¹Ï¹³¹³¯À³B²zµ¥°ò¦ª¾ÃÑ¡C±µµÛ¤¶²Ð¤@¨Ç°ª¯Å¥DÃD¡A¥]¬A°ª¯u¹ê·P´è¬V¡B´X¦ó«Ø¼Ò¡B°Êµeµ¥¤º®e¡C³Ì¦Zªºªþ¿ýµ¹¥X¤FOpenGL½sµ{¤Î¥é®g¨ç¼Æªº¬ÛÃö¤º®e¡C¥»®Ñªº¯S¦â¦b¤_¸Ô²Ó¤¶²Ð¹Ï§Î¾Ç¤¤«n·§©Àªº¼Æ¾Çì²z¡A±j½Õ°ò¥»ºâªk»P½sµ{ªºµ²¦X¤Î¨ä¤º¦bÁp¨t¡A¦}´£¨ÑOpenGL¥N½X¥Ü¨Ò©M²ßÃD¡A¬O¤@¥»Âл\±¼s¥B°ò¦©Ê±jªºÀu¨q±Ð§÷¡C ¥»®Ñ¥i§@¬°pºâ¾÷¬ì¾Ç¡B¼Æ¾Ç¡Bª«²zµ¥¬ÛÃö±M·~¥»¬ì¥Í©M¬ã¨s¥Íªº±Ð§÷©Î°Ñ¦Ò®Ñ¡A¤]¥i§@¬°pºâ¾÷¹Ï§Î§Þ³N¤Hûªº°Ñ¦Ò¸ê®Æ¡C |
¥Ø¿ý¡G²Ä¤@½g¤Jªù ²Ä1³¹Â²¤¶3 1.1OpenGL3 ²ßÃD7 ²Ä2³¹½u©ÊÅÜ´«8 2.1´X¦ó¼Æ¾ÚÃþ«¬8 2.2¦V¶q¡B§¤¼Ð¦V¶q»P°ò9 2.3½u©ÊÅÜ´«©M3¡Ñ3¯x°}10 2.3.1³æ¦ì¯x°}©M°f¯x°}11 2.3.2¯x°}ªº°ò¦ÅÜ´«12 2.4¨ä¥Lµ²ºc12 2.5±ÛÂà13 2.6ÁY©ñ15 ²ßÃD15 ²Ä3³¹¥é®gÅÜ´«16 3.1ÂI©M§¤¼Ð¨t16 3.2¥é®gÅÜ´«©M4¡Ñ4¯x°}17 3.3ÂIªº½u©ÊÅÜ´«18 3.4ÂIªº¥²¾19 3.5ºî¦X20 3.6ªk¦V¶q20¡»3Dpºâ¾÷¹Ï§Î¾Ç°ò¦¥Ø¿ý²ßÃD22 ²Ä4³¹¶i¶¥23 4.1§¤¼Ð¨tªº«n©Ê23 4.1.1¨Ï¥Î»²§U§¤¼Ð¨tÅÜ´«24 4.2¦h«ÅÜ´«25 ²ßÃD26 ²Ä5³¹§¤¼Ð¨t28 5.1¥@¬É§¤¼Ð¨t¡B¹ï¶H§¤¼Ð¨t©M²´§¤¼Ð¨t28 5.2²¾°Ê§¤¼Ð¨t30 5.2.1²¾°Ê¹ï¶H30 5.2.2²¾°Ê²´·ú31 5.2.3Æ[¹î31 5.3ÁY©ñ§¤¼Ð¨t32 5.4¼h¦¸µ²ºc32 ²ßÃD36 ²Ä6³¹3D¥@¬É37 6.1§¤¼Ð©M¯x°}37 6.2ø¨î§Îª¬38 6.3³»ÂIµÛ¦â¾¹42 6.4¦ZÄò43 6.5§Q¥Î¯x°}©ñ¸m©M²¾°Ê45 ²ßÃD46 ²Ä¤G½g±ÛÂà©M´¡È ²Ä7³¹¥|¤¸¼Æ51 7.1´¡È51 7.1.1©P´Á52 7.1.2¤£ÅÜ©Ê52 7.2ªí¥Ü§Î¦¡54 7.3¹Bºâ55 7.4¾56 7.4.1²y±½u©Ê´¡È©M½u©Ê´¡È56 7.4.2¾´¡È©M²y±½u©Ê´¡Èªºµ¥»ù©ÊÃÒ©ú(¿ïŪ)58 7.5¥|¤¸¼Æ½sµ{59 7.6µ²¦X¥²¾59 7.6.1RBT´¡È60 7.6.2RBT½sµ{60 ²ßÃD62 ²Ä8³¹y¸ñ²y©M©·²y63 8.1¥æ¤¬63 8.2©Ê½è64 8.3¹ê²{65 ²ßÃD65 ²Ä9³¹¥·Æ´¡È66 9.1¤T¦¸Bezier¨ç¼Æ67 9.1.1¨ç¼Æ©Ê½è68 9.1.2±À¼s68 9.2CatmullúQRom¼Ë±ø69 9.3¥|¤¸¼Æ¼Ë±ø¨ç¼Æ70 9.4¨ä¥L¼Ë±ø70 9.5ªÅ¶¡¦±½u71 ²ßÃD72 ²Ä¤T½g¬Û¾÷©M¥ú¬]¤Æ ²Ä10³¹§ë¼v77 10.1°w¤Õ¬Û¾÷77 10.2¬Û¾÷¼Æ¾Ç¼Ò«¬79 10.3ÅÜ´«¬Û¾÷79 10.3.1ÁY©ñ¬Û¾÷80 10.3.2²¾¦ì¬Û¾÷83 10.3.3¨ä¥L85 10.4Àô¹Ò85 ²ßÃD85 ²Ä11³¹²`«×87 11.1¥i¨£©Ê87 11.1.1¥i¨£©Êpºâªº¨ä¥L¥Î³~88 11.23D§ë¼vÅÜ´«°ò¥»¼Æ¾Ç¼Ò«¬88 11.2.1§ë¼vÅÜ´«ªº¦@½u©Ê(¿ïŪ)89 11.3»·ªñÃö¨t90 11.4½sµ{92 ²ßÃD93 ²Ä12³¹±q³»ÂI¨ì¹³¯À94 12.1µô°Å94 12.1.1¿ï¾Ü§¤¼Ð¨t96 12.1.2§ó·sÅܶq97 12.2I±ç°£97 12.3µø¤f98 12.3.1¯¾²zµø¤f99 12.4¥ú¬]¤Æ100 ²ßÃD101 ²Ä13³¹¥iÅÜÅܶq102 13.1¤Þ¥X¯¾²z«÷±µ²§±`°ÝÃD102 13.2¦³²z½u©Ê´¡È103 ²ßÃD105 ²Ä¥|½g¹³¯Àµ¥¬ÛÃö°ÝÃD ²Ä14³¹§÷®Æ109 14.1°ò¥»°²³]109 14.2º©¤Ï®g111 14.3¤Ï¥ú112 14.4¦U¦V²§©Ê114 ²ßÃD116 ²Ä15³¹¯¾²z¬M®g117 15.1°ò¥»¯¾²z118 15.2ªk½u¬M®g119 15.3Àô¹Ò¥ß¤èÅé¶K¹Ï119 15.4§ë¼v¯¾²z¬M®g121 15.5¦h³q¹D123 15.5.1¤Ï®g¬M®g124 15.5.2³±¼v¬M®g125 ²ßÃD126 ²Ä16³¹ªö¼Ë127 16.1¨âºØ¼Ò«¬127 16.2¤Þ¥X¨«¼Ë°ÝÃD128 16.3¸Ñ¨M¤èªk129 16.3.1¹ê»Ú±¡ªp132 16.3.2¤Ï¨«¼Ë½u132 16.4Alpha132 16.4.1»P³sÄò¦X¦¨ªº¤ñ¸û(¿ïŪ)134 16.4.2«D¹w¼134 16.4.3áà¹Ï135 16.4.4¹ê»ÚÀ³¥Î135 ²ßÃD136 ²Ä17³¹««Ø137 17.1±`¶q137 17.2Âù½u©Ê138 17.3°ò¨ç¼Æ139 17.3.1Ãä½t«O¯d140 ²ßÃD141 ²Ä18³¹«ªö¼Ë142 18.1²z·Q«ªö¼Ë142 18.2©ñ¤j143 18.3mip¬M®g144 ²Ä¤½g°ª¯Å¥DÃD ²Ä19³¹ÃC¦â149 19.1²³æ¥Íª«ª«²z¼Ò«¬149 19.1.1¦â±mªÅ¶¡¹Ï152 19.2¼Æ¾Ç¼Ò«¬153 19.2.1§Þ³N²Ó¸`155 19.3ÃC¦â¤Ç°t156 19.4°ò157 19.4.1¦â°ì158 19.4.2¯S©w°ò159 19.5¼ÒÀÀ¤Ï®g161 19.5.1¥Õ¥¿Å161 19.6¦Û¾AÀ³161 19.7«D½u©ÊÃC¦â162 19.7.1¶ZÂ÷·Pª¾162 19.7.2¦÷°¨®Õ¥¿163 19.7.3¶q¤Æ164 19.7.4¦÷°¨®Õ¥¿»Ppºâ¾÷¹Ï§Î¾Ç164 ²ßÃD165 ²Ä20³¹¥ú½u¸òÂÜ166 20.1´`Àô±Æ§Ç166 20.2¬Û¥æ167 20.2.1¥±167 20.2.2¤T¨¤§Î168 20.2.3²yÅé169 20.2.4¹w±Æ°£169 20.3¤G¦¸¥ú½u169 20.3.1§ó¦hÀ³¥Î170 ²ßÃD170 ²Ä21³¹¥ú(°ª¶¥)172 21.1³æ¦ì172 21.1.1¿ç®g³q¶q172 21.1.2¿ç·Ó«×173 21.1.3¿ç®g²v174 21.2¤Ï®g176 21.2.1BRDF177 21.2.2Ãè±»P§é®g178 21.3¥ú·Ó¼ÒÀÀ179 21.3.1ª½±µÂI¥ú·½179 21.3.2ª½±µ±¥ú·½180 21.3.3¤G¦¸¤Ï®g180 21.3.4©Ý®i182 21.3.5´è¬V¤èµ{(¿ïŪ)183 21.4·P¥ú¤¸¥ó184 21.5¿n¤Àºâªk186 21.6¨ä¥L¥ú¾Ç®ÄÀ³186 ²ßÃD187 ²Ä22³¹´X¦ó«Ø¼Ò°ò¦188 22.1¤T¨¤§Î¶°¦X188 22.2ºô®æ189 22.3Áô¦¡¦±±190 22.4Åé¯À191 22.5°Ñ¼Æ±¤ù191 22.6²Ó¤À¦±±192 22.6.1CatmullúQClark193 ²ßÃD195 ²Ä23³¹°Êµe196 23.1´¡È196 23.1.1ÃöÁä´V196 23.1.2»X¥Ö196 23.2¥é¯u197 23.2.1Áû²É198 23.2.2èÅé198 23.2.3¥¬®Æ199 23.2.4¥iÅܧΧ÷®Æ200 23.2.5¤õ©M¤ô200 23.3¤HÅé¹B°Ê201 ²ßÃD202 ªþ¿ýAHelloWorld2D203 A.1APIs203 A.2¥Dµ{§Ç204 A.2.1initGlutState204 A.2.2glewInit205 A.2.3initGL205 A.2.4initShaders206 A.2.5initVBO206 A.2.6Display208 A.2.7³»ÂIµÛ¦â¾¹209 A.2.8¤ù¤¸µÛ¦â¾¹209 A.3²K¥[±µ¤f210 A.4²K¥[¯¾²z212 A.5®i±æ214 ²ßÃD214 ªþ¿ýB¥é®g¨ç¼Æ216 B.12D¥é®g216 B.23D¥é®g217 B.3¤Ï¦V±À¾É217 B.4¥¿¦V±À¾É217 B.5Âù¦V±À¾É218 ²ßÃD219 °Ñ¦Ò¤åÄm220 |
§Ç¡G |