°Ï®æDirect3D´ú¸Õ­û2.0ª© Trigger Direct 3D Examiner V2.0 October 20, 1998 I. °Ï®æ DIRECT 3D ´ú¸Õ­û °Ï®æ¤¬°Ê¬ì§Þ¤½¥q(Trigger Inc. http://www.trigger.com.tw)­P¤O©ó¦hºØ¥ý¶i3D¹CÀ¸ ¤ÞÀº¨t²Îªº¬ã¨s »P¶}µo¡A»{¬°²`¤J3D¨t²Î³]©w»P¹ï3D®Ä¯à¯S©ÊªºÁA¸Ñ¡A¥i¥H¨Ï3D¹CÀ¸ ¦³§ó¦nªº¼Ö½ì»Pªí²{®ÄªG¡C¦]¦¹§Ú­Ì¯S§O»s§@¤F"°Ï®æDirect3D´ú¸Õ­û"¡A§Æ±æ¯à´£¨Ñ¦U ¦ìª±®a¤@­Ó3D¹CÀ¸Àô¹Òªº´ú¸Õ¤u¨ã¡A§¹¥þ¥Ñ3D¹CÀ¸»s§@ªº¨¤«×¨ÓÀËÅç3D¥[³t¥dªº³]©w»P ®Ä¯àª¬ªp¡C§Ú­Ì©Ò¬D¥X¨Óªº´ú¸Õ¶µ¥Ø³£¬O¹CÀ¸»s§@ªº­«ÂI¡A·íµM³o¨Ç´ú¸Õ¶µ¥Ø³£¬O¥H§Ú ­Ìªº3D¹CÀ¸¤ÞÀº¨Ó»s§@ªº¡AÁöµM¤£¯à¥Nªí©Ò¦³¹CÀ¸»s§@ªº§Þ³N¶È¤î©ó¦¹¡A¦ý§Ú­Ì¬Û«H³o ¤w¬O¬Û·í¨ã¦³°Ñ¦Ò»ù­Èªº´ú¸Õ«ü¼Ð¡C§Ú­Ì¤£¥H±M·~®Ä¯à´ú¸Õ¬°¥DÃD¡A¦]¬°3D´¹¤ù®Ä¯àªº ®t²§¨Ã¤£¯à¥Nªí3D¹CÀ¸®ÄªGªº®t²§¡A¨ú¦Ó¥N¤§ªº¬O¥H¹CÀ¸Àô¹Ò³]©w¡A¥\¯à»P®Ä¯à¨Ã­«ªº ¤è¦¡¨ÓÀË´ú3D¹CÀ¸¥­¥x¡A¤]³\Åýª±®a§ó¯à¿ï¾Ü¥X¾A¦X¦Û¤v»Ý¨Dªº3D¹CÀ¸¨t²Î¡C II. ¥\¯à¤¶²Ð 1. ¥Dµe­± ¡V ¥Dµe­±¤W¤Z¬O«ü¼ÐÅܦ¨"¤â"ªº³£¬O«ö¶s¡A¥i¥H©ñ¤ß«ö¤U¥h¡C ¨ü´úÅã¥Ü¤¶­±: µe­±ªº¤WºÝ¦³¤@­Ó ListBox¡A¥Î¨Ó¿ï¾Ü´ú¸ÕªºD3D¤¶­±¥dÅX°Êµ{ ¦¡¡A¦pªG±zªº°t³Æ¬O¤@¶ô¥DÅã¥Ü¥d¥[¤WVoodoo¥d¡A´N¥i¯à¦³¥|­Ó¿ï¶µ¥i¥H¿ï¾Ü¡G ¥DÅã¥Ü¥dµwÅé¥[³t¼Ò¦¡¡A¥DÅã¥Ü¥d³nÅé¼ÒÀÀ¼Ò¦¡¡AVoodoo¥dµwÅé¥[³t¼Ò¦¡¤Î Voodoo¥d³nÅé¼ÒÀÀ¼Ò¦¡¡C"°Ï®æ Direct 3D ´ú¸Õ­û" ¹w³]­È¬O¿ï¾Ü Direct 3D ¨t ²Î©Ò§iª¾ªº3D¥[³t¥d¤¤ªº³Ì«á¤@±i¥dªºµwÅé¥[³t¼Ò¦¡¡C³nÅé¼ÒÀÀ¼Ò¦¡ÁöµM¦C¥X¨Ñ ª±®a¿ï¾Ü¡A¦ý¬O¨ä³t«×·íµM«D±`ºC¡A¶È¨Ñ°Ñ¦Ò¡A¨Ã¤£«ØÄ³¨Ï¥Î¡C ª±®a´Á±æ¥\¯àÀË´ú: ³o¸Ì¦C¥X¤F§Ú­Ì©Ò¬D¿ïªºªº14¶µ­«­n3D¹CÀ¸¬ÛÃö¯à¤OªºÀË´ú (¥H Yes/No ªí¥Ü)¡A³o¨Ç¬O·s¤@¥N3D¹CÀ¸»s§@©Ò´Á¬ßªº¥\¯à, ¤£¹L¨Ã«D¨ã³Æ¥þ³¡ ¥\¯à¤~¯àº¡¨¬, ³¡¥÷¶µ¥Ø¬O¦h¼Æ3D¹CÀ¸¼È¤£±Ä¥Îªº¥\¯à¡C¿ï¾Ü"¨ü´úÅã¥Ü¤¶­±"«á ·|¦Û°Ê§ó·s³o14¶µÀË´úªºµ²ªG¡C»Ý­n¯S§O»¡©úªº¬O¡G¦³¨Ç¤£¦¨¼ôªºD3DÅX°Êµ{¦¡ ¥i¯à¨S¦³¬Y¶µ¥\¯à¡A«o¦^³ø¬°¦³¸Ó¶µ¥\¯à¡A¬°¨D¯u¹ê¤ÏÀ³¨t²Îª¬ºA, §Ú­Ì¤£¥h¤À ¿ë¦^³øªº¯u°°¡C©Ò©¯·s¤@¥Nªº 3D ¥[³t¥d©ÒªþªºD3DÅX°Êµ{¦¡¤w¦h¦³§ïµ½¡A«Ü¤Ö µê³ø¥\¯àªº±¡ªp¡C¥t¥~­nª`·Nªº¬O¡A¤]³\§ó·sÅX°Êµ{¦¡¥i¥H¼W¥[·sªº¥\¯à¡A¨Ò¦p ¦­´ÁªºVoodooÅX°Êµ{¦¡¨S¦³¤T¦¸¤¸¥­·Æ¤Æªº¥\¯à(Trilinear Filter) ¡A´«¤F·sª©ÅX°Ê µ{¦¡´N¦³³o¶µ¥\¯à¤F¡C 1) ¤G¤¸½u©Ê¶K¹Ï¥­·Æ³B²z Bi-Linear Texture Filter : ÃèÀY±µªñ3Dª«¥ó®É, ¶K¹Ï¥² ¶·ÂX±iªí­±­±¿n¡A³æ¯Âªº©ñ¤j·|±N³æÂIÅܦ¨¤è®æ, ¦³¿÷¾¦ª¬ªº²ÊÁW·Pı¡ABi- Linear Filter ·|±N³o¨Ç©ñ¤jªº³¡¤À¥H¤º´¡¸ÉÂIªº¤è¦¡³B²z¦¨¸û¥­·Æªº®ÄªG¡C 2) ¦h¼h¸ÑªR¶K¹Ï³B²z Texture Mip-Mapping : 3D¥[³t¥d¥i¥H±N¤@­Ó¶K¹Ï¶K¨ì¥ô·N ¤j¤pªº¤T¨¤§Î¤W¡A¦ý¬O¬°¤F³t«×¡A¤£¥i¯à¥Î«Ü½ÆÂøªº¤èªk­pºâ¥X³Ì¯à«O«ù¹Ï¤ù ¯S¦âªº¶K¹Ï¡A¨Ò¦pÁY¤p«áµ¡¤áªº½u±ø®ø¥¢¤F¡A¬Ý°_¨Ó´N¤£¹³¬O­Óµ¡¤á¡C§óÁV¿| ªº¬O¡A¦AÁY¤p¤@¨Ç¤S¥i¯à¶]¥X¸Ó½u±ø¡AÃèÀY¦b3D¥@¬É¤¤¬O¥ô·N²¾°Êªº¡A¶K¹Ï ¤j¤pÅܤƫܧ֡A½u±ø©¿¦³©¿µL·|²£¥Í°{Ã{ªº¤£¨}®ÄªG¡C©Ò¥H¨Æ¥ý¥H±M·~ø¹Ï³n Åé³B²z¦n¤£¦P¤j¤p¡]³q±`¬O·Ç³Æ¦n 256x256, 128x128, 64x64, 32x32, 16x16µ¥¡^ªº ¶K¹Ï¡A«O«ù¥ô·NÁY¤pªº¹Ï¹³«~½è¡A¦AÅý3D¥[³t¥d¨Ì¤£¦P¶ZÂ÷¨Ó¿ï¥Î¶K¹Ï, ´N¯à ¦³®Ä§ïµ½³oºØ°ÝÃD¡C 3) ¤T¤¸½u©Ê¶K¹Ï¥­·Æ³B²z Tri-Linear Filter : °£¤F¨Ï¥Î¤W­zªº MipMap ³oºØ¤@¨t ¦C¤j¤p¤£¦Pªº¶K¹Ï¥~¡AÁÙ±N³Ì±µªñ¤j¤pªº¨â±i¶K¹Ï®³¨Ó¤º´¡¹Bºâ¡]¨Ò¦p¡G­n¶K ¹Ïªº¤j¤p®t¤£¦h¬O192x192, ´N®³256x256»P128x128¨Ó¤º´¡¡A­pºâ¥X³Ì¦X¾Aªº¶K ¹Ï¡^¡A¶K¹Ï·|§óºë½T¬üÆ[¨Ç¡A³o­Ó­pºâ¬O»á¬°¶O®Éªº¡C 4) ºÝÂI³z©ú³B²z Vertex Transparency: ¨C¤@­ÓºÝÂI¯à«ü©w³z©úªºµ{«×¡A³o¬O«Ü¦h ¹CÀ¸¯S®Äªº°ò¦¤§¤@¡AµL©`«Ü¦h¦­´Áªº3D¥[³t¥d¨S¦³³o¶µ¯à¤O¡C 5) ³z©ú¹Bºâ¨ç¼Æ Alpha Blending : ³o¬O§Ú­Ì±j¯P«ØÄ³¥²¶·­n¨Dªº­«­n3D¹CÀ¸¥\ ¯à¡A«Ü¦h¯S®Ä¬O°ò©ó³o¶µ¥\¯à¨Óªí²{ªº¡C¨ä¹ê¦p¦ó³B²z³z©ú¬O¦³¨Ç¾Ç°Ýªº¡A¬Û Ãöªº­pºâ¤è¦¡´N¦³¼Æ¤QºØ¡A¨Ò¦p (ª«¥óÃC¦â * ª«¥ó³z©ú«×) + (­I´ºÃC¦â * (1 - ª«¥ó³z©ú«×)) ´N¬O§Ú­Ì¤@¯ë©Ò»¡ªº³z©ú¡C¨ä¥LÁÙ¦³¥[«Gªº³z©ú¹Bºâ(Additive Blending), ´î·tªº¹Bºâ(Multiply Blending)µ¥µ¥¡C 6) ¦¸ÂIºë½T¸ÉÀv Sub-Pixel Accuracy : ³o¬O«ü±NÂIºë½T¦aµe¦b¥¦¸Ó¦bªº¦ì¸m¡C¨Ò ¦p­nµeªºÂI¦ì©ó (0.11 ,0) ¡A3D¥[³t¥dÀ³¸Ó¥Î¤º´¡(Interpolation)µe¥X¥¿½Tªº¹Ï¡A ¦Ó¤£¬Oµe¦b¾ã¼Æªº (0,0) ¡C 7) Ãä½u¥­·Æ¸ÉÀv Anti-Alias : ¤@¨Çª«¥óªºÃä½t­è¦n¤£¬O¤ô¥­©Î««ª½®É¡A©ÒµeªºÂI ´«ºâ¨ì¨Ï¥Î¾ã¼Æªº¿Ã¹õ®y¼Ð¡A¦ÛµM¬OÅܦ¨¿÷¾¦ª¬¡AAnti-Alias ´N¬O¦b³o¨Ç¿÷¾¦ ¤Wµe¤W¤@¨Ç¤¶©ó­I´ºÃC¦â»Pª«¥óÃC¦â¤¤¶¡ªºÂI¡AÅý¤Hªº¦×²´·Pı¦³¤@­Ó"¥bÂI" ©Î"1/4ÂI"¦b¨ºÃä¡A¿÷¾¦ªº·Pı¤ñ¸û¤£·|¨º»ò±j¯P¡C 8) µwÅé§÷½èÀ£ÁY Texture Compression : ³o¬ODirectX 6.0 ªº³Ì·s¥\¯à¡C¤@¨Ç3D¥[ ³t¥d¥i¤¹³\§÷½è´N¥HÀ£ÁYªº§Î¦¡Àx¦s¦b¥d¤W¡A­n¶K¦¹§÷½è®É¡Aª½±µ¥HµwÅé§Ö³t ¦a¸ÑÀ£ÁY¨Ã¦P®É¶K¤W¥h¡C¥Ñ©ó¬OµwÅé¸ÑÀ£ÁY¡A´X¥G¸ò¶K¥¼À£ÁYªº§÷½è¤@¼Ë§Ö¡A ¦P®É¥HÀ£ÁYªº§Î¦¡Àx¦s¡Aµ¥©ó¤j´T´£°ª¤F3D¥[³t¥d©Ò¯àÀx¦sªº§÷½èÁ`¶q¡A¶¡ ±µ¦a¨Ï Texture Cache ªº swapping ¦¸¼Æ´î¤Ö¡A¥i»¡¬O¤@Á|¼Æ±o¡C 9) ¦h¼h¶K¹Ï¥\¯à Multi-Texture : ³o¬ODirectX 6.0 ªº³Ì·s¥\¯à¡CQuake Ãþªº¹CÀ¸¡A ³q±`¦b¶K¤F³õ´ºªº§÷½è¤§«á¡A¥ß¨è¦b­ì¦ì¸m¦A¶K¤@¼h¥ú¼v¡AÅý¸Ó§÷½è¯à®Ú¾Ú·í ®Éªº¥ú·½°µÅܤơA³oºØ¤èªk¥i¨Ï³õ´ºÁͪñ¯u¹ê¡A­pºâ³t«×¤S¤£·|ªá¤Ó¦h¡C¦pªG µwÅ饻¨­´N¯à¤@¦¸¶K¦h±i§÷½è¡A¨º¦bµwÅé­±¤Î³nÅé­±¡A³\¦h¹Bºâ®É¶¡§ó¥i´î¥b¡A ³t«×¤S¦A¤@¦¸ªº¤j¶qÅD¶i¡C 10) ¤£³W«h­±¶K¹Ï Bump Mapping : ³o¬ODirectX 6.0 ªº³Ì·s¥\¯à¡C³o¬O«ü¥i¨Æ¥ý ³]©w¦n¤@­Ó§÷½è¤¤³\¦hÂIªº²`²L¡A¶K¦¹§÷½è®É¡A³o¨Ç²`²L¤]¦P¼Ë¦aÀ³¥Î¨ì©Ò¶K ªº¥­­±¡A¨Ò¦pµe¤@´Ê¾ð¡A¾ð¥»¨­¥i¥H¬O¤@­Ó¥­­±§Y¥i¡A¦ý¶K¾ð¥Ö¤W¥h®É¡A¦P®É ¤]§â²`²L¤]¹Bºâ¤W¥h¡A¤@­Ó¥W¥W¥Y¥Yªº¾ð´Nµe¥X¨Ó¤F¡C¦pªG¨S¦³ Bump Mapping ¤S­n¹F¨ì¦P¼Ë®ÄªG¡A¨º¥i¯à­n¤Á³Î¦¨¼Æ¤d©Î¼Æ¸U­Ó¤T¨¤§Î¤F¡C 11) ¼ËªO½w½Ä°Ï Stencil Buffer : ³o¬ODirectX 6.0 ªº³Ì·s¥\¯à¡CStencil Buffer³q±`¬O z-bufferªº¤@³¡¥÷¡A³z¹LStencil Buffer¤¤ªº¨C¤@­ÓÂIªº­È¡A¥i¥H¦bµe¹Ï®É¤@ÂI¤@ ÂI¦a¨M©w¦¹ÂI¸Ó¤£¸Óµe¡A³o¼Ëªº§Þ¥©¥i°µ¥X³\¦h¯S®Ä¡A¦pÃ褤­Ë¼v¡A¸ÓÃè¤l¥i ¥H¬O¤£³W«h§Îª¬¡A¤Ï¥¿¶K¹Ï®É¡AÃè¤l¥H¥~ªºÂI¥i§Q¥Î Stencil Buffer Âo±¼¤£µe¡C 12) ¬dªíÃú¤Æ¨ç¼Æ Table Fog : ¦pªG­n±N»·¤èªºªF¦èÁôÂð_¨Ó¡A§Q¥ÎÃú¤Æ¨Ó°µ¡A¶V »·ªºª«¥ó¡AÃC¦â¶V¹GªñÃúªºÃC¦â¡A¨ì¤F«ü©wªº³Ì»·¡Aª«¥óªºÃC¦â´N¸òÃú¤@¼Ë¤F¡C ¦Ó Table Fog ¬O«ü­n¨Ï¥ÎªºÃú¤Æµ{«×¬O¥Î¬dªíªk±oª¾¡A¦Ó³o­Óªí¤w¸g®Ú¾Ú²`«× ±NÃúªº²`²L³£¨Æ¥ýºâ¦n¤F¡C 13) ºÝÂIÃú¤Æ¨ç¼Æ Vertex Fog : ³o¬O«üÃú¤Æµ{«×¬O§Q¥ÎºÝÂIªº¸ê®Æ¤¤³]©w¡C 14) °Ï¶¡Ãú¤Æ¨ç¼Æ Range Fog : ³o¬O«üÃú¤Æµ{«×¬O®Ú¾Ú¬Ýªº¤H¨ì¸Óª«¥óªº¶ZÂ÷¨Ó­p ºâ¡A¦Ó¤£¬O®Ú¾Ú¸Óª«¥óªº²`«×­È(¦P²`«×­Èªºª«¥ó»PÄá¼v¾÷ªº¶ZÂ÷¤£¤@©w¬Û¦P)¡C 2. °Ï®æ«ü¼Æ´ú¸Õ ¡V ³oùØ­±ªº¨C¤@¶µ´ú¸Õ³£¬O¯S§O¬°¹CÀ¸¶i¦æªº®Ä²vÀËÅç¦Ó³]­pªº¡A©R¦W ¬°"°Ï®æ«ü¼Æ" ¬O¦]¬°§Ú­Ì¥H°Ï®æ¤½¥qªº3D¹CÀ¸¤ÞÀº§Þ³N¨ÓÀË´ú¡AÁöµM¤£¬Oµ´¹ïªº´¹¤ù ®Ä¯à´ú¸Õ¡A¦ý§Ú­ÌªÖ©w³o¨Ç¼Æ¾Ú¬O¦³·N¸qªº¹CÀ¸Àô¹Ò®Ä¯àªº°Ñ¦Ò«ü¼Ð¡C Þ ©ì¦²®ÄªG(Trail Effect): ³o¬O°Ï®æ¤½¥q§Q¥Î¦hºØ¯S®Ä³B²z°µ¥X¨Óªº©ì¦²¥ú¼v®ÄªG¡C ¦Ó­I´º«h¬O¥H¥æ¤¬²H¤J²H¥X¤£¦Pªº°ª«~½è¶K¹Ïªº¹Bºâ®ÄªG¡C Þ ¤Hª«°Ê§@(Animated Objects): "¤j¶q"ªº¤Hª«µ²ºcªº¤T¨¤§Î´ú¸Õ (¨ä¹ê¥u¦³¤E­Ó¤H¦Ó ¤w¡A´N¥Î¥h«Ü¦h¤T¨¤§Î¤F)¡C³o¶µ´ú¸Õ¥[¤J¤Fí©w³t«×ªº±±¨î¾÷¨î¡A¤Hª«°Ê§@ªº¼½ ©ñ¬O©T©w³t«×ªº¡A¦b®Ä¯à¸û°ªªº¾÷¾¹¤W·|¦Û°Ê½Õ¾ã°Ê§@ªº²Ó¿°µ{«×(°Ê§@²Ó¸`¤º´¡ ¸ÉÀv¨ç¼Æ)¡A·Pı·|¸û¥­¶¶¨Ç¡C Þ ¾_¾ÙªÅ¶¡¦X¦¨(ShockSpace Synthesis): ¾_¾ÙªÅ¶¡ (ShockSpace System) ¬O°Ï®æ¤½¥qªº ¯S®í 3D ¦¨¹³¤ÞÀº¡A¯S§O¥Î¨Ó³B²z·¥°ª«~½èªº3Dª«¥ó»P³õ´º¡A¯à¥H§Y®É¹Bºâªº ®Ä²v³B²z¼Æ¤Q¸U­Ó¤T¨¤§Îªºª«¥ó¡C¥»¶µ´ú¸Õ¤¤¶¡ªº±ÛÂà Logo ¬O¥H³nÅ馨¹³­pºâ (Rendering)²£¥Íªº¡A·f°tµwÅé¥[³t¥dªº¦¨¹³³B²z¡A§Ú­ÌÀË´ú¤F³nµw­Ý¬Iªº²V¦X¦¨ ¹³(Synthesis, ©ÎºÙMix- mode Rendering)®ÄªG¡C Þ «Ç¤º°g®c±´¯Á(Ameba Interior Maze): ³o­Ó´ú¸Õ¬O¥H°Ï®æ¤½¥qAmeba¤p²Õªº3D¹CÀ¸ ¤ÞÀº©Ò»s§@ªº¡A³o¤@ª©ªº¤ÞÀº¡A·|°»´ú¦³µL¦h¼h¶K¹Ï¥\¯à( Multi-Texture)¨Ã¨Ï¥Î¥¦¡A ©Ò¥H¦b¦³¤ä´©¦h¼h¶K¹Ï¥\¯àªº¥d¤W³t«×·|¤j´T»â¥ý¨S¦³¦h¼h¶K¹Ï¥\¯àªº¥d¡C 3. ®Ä¯àÀËÅç ¡V ³o­Ó¤j¶µ¬O´ú¸Õ 3D ¥[³t¥dªº°ò¥»¯à¤O»P AGP (Accelerated Graphics Port) ®ÄªG¡A«e¥|¶µ¬O¥Î¤£¦Pªº¤è¦¡µe¥X 3,456 ¡]12x12x12x2¡^ ­Ó¤T¨¤§Î¡A³Ì«á¤@¶µ¬O±zªº §@·~¨t²Î»P3D¥[³t¥d¦³AGP¯à¤O¤~¥i¥H±Ò°Ê¡A´ú¸Õ¤j¶q©ñ¦bAGP memory (Non-Local Video Memory)§÷½èªº¶K¹Ï®Ä¯à¡C Þ ¥­­±µÛ¦â¤T¨¤§Î(Flat Triangles) Þ °ª¦¡µÛ¦â¤T¨¤§Î(Gouraud Triangles) Þ ³z©úµÛ¦â¤T¨¤§Î(Alpha Blended Triangles) Þ ¶K¹ÏµÛ¦â¤T¨¤§Î(Textured Triangles) Þ AGP¤j¶q¶K¹Ï(Large Texture Mapping, For AGP Only): Intel ªº AGP ³W®æ´£¨Ñ¤F¤@ ­Ó°ª³tªº³q¹DÅý Graphics Processor ¨Ó¦s¨ú system memory¡A¹ï©ó¹CÀ¸»s§@ªÌ¨Ó »¡¡A³o¨Ç system memory¥Î¨Ó©ñ¤j¶qªº¶K¹Ï¸ê®Æ¬O¦A¦n¤£¹Lªº¤F¡A³o¶µ´ú¸Õ´N¬O ­nÀËÅç¤j¶q§÷½è¸ê®Æªº°ª³t¶K¹Ï¯à¤O¡C 4. «~½èÀËÅç ¡V ³o­Ó¤j¶µ¬O´ú¸Õ 3D ¥[³t¥dªº«~½è¡A¨ä¹ê¹CÀ¸¥Îªº3D¥[³t¥d¥ú¬Oµe¤T¨¤§Î §Ö¨Ã¨S¦³¤Ó¤jªº¦n³B¡A¦h¼Æªº¹CÀ¸®ÄªG­n¾a³z©ú©ÎÃú¤Æµ¥µ¥¨Ó°µ¡C«~½èÀËÅç±N¿Ã¹õ¤Á³Î ¦¨¥ª¥k¨âÃä¡A¥ªÃä¬O±Ò°Ê¯S®Äªº³]©w¡A¥kÃä«h¬OÃö±¼¸Ó¯S®Ä³]©wªºª¬ªp¡A¥ª¥k¨âÃäÀ³¸Ó ¬Ý°_¨Ó¦³¨Ç¤£¤@¼Ë¡C¤£¹L¡A¬Ý°_¨Ó¤£¤@¼Ë¤£¨£±o´N¬O¥¿½Tªº¡A³o¤­¶µÀËÅ礤¡A§Ú­Ì³£·Ç ³Æ¤F¤@­Ó¥¿½Tµe­±¡A«ö¤U "¥¿½T°Ñ¦Òµe­±" ¨º­Ó¬õ¦â«öÁä§Y¥i¡C Þ ³z©ú®ÄªG(Alpha Blending) : ¥ªÃä¬O³z©úªº¤ô¦bªi°Ê¡A¥kÃä«h¬O±N³z©úÃö±¼¡C Þ Ãú¤Æ®ÄªG(Fog Triangles) : »P¤W­z¤@¼Ë¡A¥u¬O¥ªÃä¨Ï¥ÎÃú¤Æ¡A¶V»·¶V¥Õ¡C¦pªG¥þ¥Õ ©Î»P¥k°¼µe­±¬Û¦Pªí¥Ü®ÄªG¤£¥¿½T¡C Þ ³zµø®Õ¥¿(Perspective Correction) : µe­±¤Wªº¨C¤@­Ó¯x§Î³£¬O³£¬O¨â­Ó¤T¨¤§Î©Ò²Õ ¦¨¡A¥ªÃä¬O³zµø®Õ¥¿¥\¯à¥´¶}ªºª¬ªp¡A¥kÃä«h¬OÃö±¼ªº¡C¥kÃä«Ü©úÅã¦a¡A¦ãµáº¸ ÅK¶ð¡]¬°¤F®ÄªG§ó©úÅã¡A§Ú­ÌÁÙ¦b³o¹Ïªº¤¤¶¡µe¤@±øª½½u¡^¨â­Ó¤T¨¤§Î¦U¦Û¶K¹Ï¡A ¶V¶É±×»~®t´N¶V©úÅã¡C¥ªÃä«h·|®Ú¾Ú³zµø²`«×¦Û¦æ½Õ¾ã¡A¤£½×¦p¦ó¶É±×¡A¦ãµáº¸ ÅK¶ð¬Ý°_¨Ó³£ÁÙ¬Oª½ªº¡C Þ ¤G¦¸¤¸¥­·Æ¤Æ(Bi-Linear Filter) : ³o¬O±N¤@­Ó§÷½è¶K¨ì«Ü¤jªº­±¿n¡A¥kÃä¬O´¶³qªº ©ñ¤j¡A¥i¥H¬Ý¨ì«Ü©úÅ㪺¿÷¾¦ª¬¡C¥ªÃä±Ò¥Î¤F¤G¦¸¤¸¥­·Æ¤Æ¥\¯à¡A§÷½è¸g¹L¤º´¡ ¸ÉÂI³B²zÅã±o¸û¬°¥­·Æ¡C Þ ¤T¦¸¤¸¥­·Æ¤Æ(Tri-Linear Filter) : §Ú­Ì¯S§O¬D¤F¤@±i¦Ëî¶Â¥Õ¬Û¶¡²Ó¯¾ªº¹Ï¨ÓÀ˵ø ¤T¦¸¤¸¥­·Æ¤Æªº®ÄªG¡C¥kÃä¥u¥Î°ò¥»ªº§÷½è¡A¦b©ñ¤jÁY¤pªº¹Lµ{¤¤¡A¶Â¥Õ¬Û¶¡²Ó ¯¾¥¢¯uªº«D±`©úÅã¡C¥ªÃä«h¬O¨Ï¥Î¤T¦¸¤¸¥­·Æ¤Æ¥\¯à¡A¶Â¥Õ¬Û¶¡²Ó¯¾³£ÁÙ¯à«O«ù À³¦³ªº«~½è¡C³o¨Ç¶K¹Ï¥ª¤W¨¤ªº¼Æ¦r¡A¬O¯S§Oµe¤W¨ÓÅã¥Ü¶K¹Ïªº½s¸¹¡A¨Ò¦p 1¬O «ü 256x256¡A 2¬O«ü 128x128 µ¥µ¥¡Cª`·N¡G¥ª¤W¨¤¼Æ¦r¥²¶·¬Oº¥º¥ÅܤƤ~¬O¤T¦¸ ¤¸¥­·Æ¤Æªº®ÄªG¡A¬ðµM¤Á´«Åܤƪº¥u¯àºâ¬O Mip-Map ªº®ÄªG¦Ó¤w¡C 5. ¨t²ÎD3D¯à¤OÀËÅç ¡V ³o¶µ¬O°w¹ï±M·~¤H­û©Ò³]­pªº¡A±N¤@¨Ç¦Û¦æ°»´ú©Î¬O±q DirectDraw ©M Direct3D ¬d¸ß¥X¨Óªº Capabilities Flags ªº¨C¤@­Ó Bit ¥þ ³¡Åã¥Ü¥X¨Ó¡C¥»¶µ¥\¯à¦³±N Direct X 6.0 ·s¼Wªº³¡¤À¥[¶i¥h¡C Þ System Overview: °»´ú CPU «¬¸¹¡BCPU ³t«×¡B¦³µLMMX¡B¦³µLAGPµ¥¥|¶µ¡C³o ¤@ª©ªº"°Ï®æ Direct 3D ´ú¸Õ­û" ÁÙ¯à§PÂ_¥X AMD ªº 3DNow! ³á¡C Þ ¨ä¥L: ±µ¤U¨Ó°£¤F "Direct 3D Capabilities (Part 2)" ¬O¼Æ¦r¥~¡A³£¬O Direct X 6.0 SDK header files ùØ­±©w¸q¦nªº constant¡A¦pªG³o­Ó constant ©Ò¥Nªíªº bit ¬O 1¡A «e­±´N·|¦³¤@­Ó yes ªº¹Ï§Î¡A¦pªG¬O 0¡A«h¬O¤@­Ó no ªº¹Ï§Î¡A³o¨Ç¥\¯àªºÀË´ú ¹ïµ{¦¡¶}µo¤H­û·¥¦³À°§U¡C III. ´ú¸Õª`·N¨Æ¶µ 1. ¥Ñ©ó³¡¤À3D¥[³t¥dÅX°Êµ{¦¡¹ï©óDirectX 6.0©|¥¼¯àºÉµ½ºÉ¬ü¦a°t¦X¡A°Ï®æDirect3D´ú¸Õ ­û2.0ª©¬O°w¹ïDirectX 6.0¶}µo¡Aµ{¦¡¤¤¨Ï¥Îªº¥þ³£¬ODirectX 6.0¯S¦³ªº§C¶¥API¡C©Ò¥H²{ ¶¥¬q¦b¬Y´X¶µ´ú¸Õ·|¦³¤@¨Ç¤£¥¿±`ªº²{¶H¡A³o¥u¦³ÀR«ÝÅX°Êµ{¦¡ªº§ó·s¤F¡C Þ ³¡¤À S3 Savage 3D ªº table fog ÁöµM driver ¦^³ø¦³¸Ó¥\¯à¡A¦ý«o¤£¯à¥¿±`¨Ï¥Î¡A ¦]¦¹°Ï®æ«ü¼Æªº"¤Hª«°Ê§@"¤Î«~½è´ú¸Õªº"Ãú¤Æ®ÄªG" µ²ªG¤£¥¿±`¡C¤]³\§ó·sÅX°Ê µ{¦¡¥i¥H¸Ñ¨M³o²{¶H¡C Þ °Ï®æ«ü¼Æªº"¾_¾ÙªÅ¶¡¦X¦¨"¦b¬Y¨Ç S3 Savage 3D µ²ªG¤£¥¿±`¡C Þ ³\¦h¥d¦p Riva 128, Intel i740 ªº Perspective Correction ¬O°ò¥»®ÄªG¡AµLªkÃö±¼¡C °Ï®æ«ü¼Æªº"«Ç¤º°g®c±´¯Á"¡A¦b³¡¤À¥[³t¥dµLªk¥¿±`§e²{¥ú¼v®ÄªG¡C§ó·sÅX°Êµ{ ¦¡¤]³\¥i¥H¸Ñ¨M³o²{¶H¡C ¦pªG±Ò°ÊµøÀW¦P¨B(Video Sync)¡Aµe­±°T¸¹ªº§ó·sÀW²v·|¼vÅT««ª½±½ºË(Vertical Trace)ªº®É§Ç¡A¨Ï±oÂù½w½Ä­¶(Double Buffer)ªº´«­¶®É¶¡¡A¨ü¨ì««ª½±½ºË®É§Çªº­­ ¨î¡A´ú¸Õªº¼Æ¾Ú·|¥H««ª½±½ºËÀW²v(Vertical Frequency)¬°­p®É³Ì¤p³æ¦ì¡A¶V§Öªº«« ª½±½ºËÀW²v¥i¥H±o¨ì§óºë½Tªº­p®É³Ì¤p³æ¦ì¡C¦pªG¯àÃö±¼ Sync ¥\¯à¡A¤]³\¥i¥H ¼W¥[µe­±§ó·sªºÀW²v¡A¤]´N¬O»¡¥i¥H±o¨ì§ó°ªªº FPS ­È¡A°Ï®æ«ü¼Æ´N·|¬Û¹ï¼W ¦h¤F¡C