OpenGLÖ§³Ö¿â¼°Ïòµ¼Ê¹ÓÃ½Ì³Ì ÏÂÔØ±¾ÎÄ

´óÁ¬´óÓÐÎâÌÎÒ×ÓïÑÔÈí¼þ¿ª·¢ÓÐÏÞ¹«Ë¾ °æÈ¨ËùÓÐ

ÕýͶӰ ͶӰÏß»¥ÏàÆ½ÐУ¬²»ÂÛÔ¶½ü£¬´óС²»±ä ͸ÊÓͶӰ ͶӰÏß½»ÓÚÒ»µã£¬½ü´óԶС£¬×îÔ¶´¦¼¯Öе½Ò»µã ¶Ô³ÆÍ¸ÊÓͶӰ ¸ü¼Ó·ûºÏÈËÑ۵Ĺ۲췽ʽ

¡°Ñ¡Ôñ¾ØÕóģʽ (#¹Û²ì¾ØÕó)¡±£ºÔÚÕâ¸ö¾ØÕóÖд´½¨Ä£ÐÍ¡£ Ö»ÒªÔÚÿ´Î¿ÉÊÓ·¶Î§·¢Éú¸Ä±äµÄʱºò£¬ÖØÐ¶¨ÒåͶӰ·½Ê½¾Í¿ÉÒÔÁË¡£»­Ä£Ð͵Äʱºò¾Í²»ÐèÒªÖØÐ¶¨Òå¡£

2.9.3 ×ø±êϵ±ä»»

±í 8ÖÐÁгöÁËÈýÖÖ¶Ô×ø±êµÄÃüÁ

±í 8

ÃüÁî º¬Òå

×ø±êÆ½ÒÆ ±£³ÖÈý¸ö×ø±êÖáµÄ·½Ïò²»±ä£¬Æ½ÐÐÒÆ¶¯×ø±êϵµÄÔ¸µã ×ø±êÐýת ±£³Ö×ø±êϵµÄÔ­µã²»±ä£¬ÈÆ×ÅÒ»¸öÖ¸¶¨Öáת¶¯

×ø±êËõ·Å ±£³Ö×ø±êϵµÄÔ­µã²»±ä£¬ÔÚÈý¸ö×ø±êÖáµÄ·½ÏòÉϽøÐÐËõ·Åͼ 23ÖмýÍ·µÄËùÖ¸µÄ·½ÏòÊÇ×ø±êÐýתºÍ×ø±êÆ½ÒÆµÄÕý·½Ïò¡£

ͼ 23

ÓйØ×ø±êËõ·ÅÃüÁîµÄʹÓ÷½·¨¿ÉÒԲο¼Àý³Ì¡°½ð½äÖ¸.e¡± ÔËÐкó¿ÉÒÔ¿´µ½Í¼ 24ÖÐЧ¹û£º

ͼ 24

Ò²¿ÉÒÔÀûÓÃÕâ¸öÀý³ÌÖÆ×÷Ò»¸öéÏé­ÇòµÄÄ£ÐÍ¡£

31

´óÁ¬´óÓÐÎâÌÎÒ×ÓïÑÔÈí¼þ¿ª·¢ÓÐÏÞ¹«Ë¾ °æÈ¨ËùÓÐ

2.9.4 ¾ØÕóÔËËã

ËäȻʹÓÃ×ø±ê±ä»»ÃüÁî¶Ô¾ØÕó½øÐÐÔËËã±È½ÏÖ±¹Û£¬µ«Êǹ¦ÄÜÓÐÏÞ¡£Ö±½ÓʹÓþØÕóÔËËãµÄÃüÁî¿ÉÒÔ¸ü¼Ó¿ìËٵĶԾØÕó½øÐÐÔËËã¡£

±í 9ÖÐÁгöÁËËÄÖÖ¶Ô¾ØÕóÔËËãµÄÃüÁ

±í 9

ÃüÁî º¬Òå

¾ØÕóÈëÕ» °Ñµ±Ç°¾ØÕóѹÈëÕ»¶¥ ¾ØÕó³öÕ» °Ñµ±Ç°¾ØÕóÍ˳öÕ»¶¥

ÔØÈë¾ØÕó °Ñµ±Ç°×ø±êģʽ±ä»»³ÉÖ¸¶¨µÄ¾ØÕó¡£

³ËÈë¾ØÕó °Ñµ±Ç°×ø±êģʽÔÙ³ËÒÔÖ¸¶¨µÄ¾ØÕóʹËü±ä»»³ÉÄ¿±êµÄ¾ØÕó¡£¾ØÕóÊÇÒ»¸ö4¡Á4µÄÊý×é¡£

¾ØÕóµÄ¶¨ÒåM[4][4]ʹÓõÄÊÇÊúÏòµÄ˳Ðò£¬¶ø²»ÊÇ´ó¼Ò³£ÓõĺáÏò¶¨Òå·¨¡£ M[1][1] M[2][1] M[3][1] M[4][1] M[1][2] M[2][2] M[3][2] M[4][2] M[1][3] M[2][3] M[3][3] M[4][3] M[1][4] M[2][4] M[3][4] M[4][4]

ͨ¹ýÕâЩ¾ØÕóÃüÁ¿ÉÒÔʡȥ¼ÆË㸴ÔÓ×ø±ê±ä»»µÄ¹ý³Ì¡£ Èç¹û³ËÈë¾ØÕó 0£®5 0£®0 0£®0 0£®0 0£®0 0£®5 0£®0 0£®0 0£®0 0£®0 0£®5 0£®0 0£®0 0£®0 0£®0 1£®0 Ï൱ÓÚÈý¸öÖáÏò¶¼ËõСһ°ë

ÓйØ×ø±ê±ä»»ÃüÁîµÄʹÓ÷½·¨¿ÉÒԲο¼Àý³Ì¡°×ø±ê±ä»».e¡± ¿ÉÒÔÔÚÈýÖÖͶӰ·½Ê½ÖÐÑ¡ÔñÒ»ÖÖ£¬È»ºó½øÐÐÒÆ¶¯¡¢ÐýתºÍËõ·Å¡£ ÔËÐкó¿ÉÒÔ¿´µ½Í¼ 25ÖÐЧ¹û£º

32

´óÁ¬´óÓÐÎâÌÎÒ×ÓïÑÔÈí¼þ¿ª·¢ÓÐÏÞ¹«Ë¾ °æÈ¨ËùÓÐ

ͼ 25

Á·Ï°£º

ÏÂÃæ¾ÍÀ´Í¨¹ýʹÓþØÕóÔËËãÀ´ÊµÏÖʵʱÒõÓ°µÄЧ¹û¡£ 1£® Æô¶¯Ò×ÓïÑÔOpenGLÏòµ¼£»

2£® ÔÚµÚ¶þÒ³¡°Ê¹ÓõÄ×é¼þ¡±ÖÐÑ¡Ôñ¡°´°¿Ú¡±£»

3£® ÔÚµÚÎåÒ³¡°Í¶Ó°Ä£Ê½¡±ÖÐÑ¡Ôñ¡°¶Ô³ÆÍ¸ÊÓͶӰ¡±£» 4£® µã»÷Íê³É°´Å¥´´½¨³ÌÐò£»

5£® ÔÚ¡°¿ò¼Ü³ÌÐò¼¯¡±ÖмÓÈë³ÌÐò¼¯±äÁ¿£º .³ÌÐò¼¯±äÁ¿ Ó°×Ó, Ë«¾«¶ÈСÊýÐÍ, , \.³ÌÐò¼¯±äÁ¿ Á¢·½Ìå±ß³¤µÄÒ»°ë, СÊýÐÍ .³ÌÐò¼¯±äÁ¿ Ðýת½Ç¶È

.³ÌÐò¼¯±äÁ¿ ¹âԴλÖÃ, СÊýÐÍ, , \6£® ¼ÓÈë×Ó³ÌÐò¡°ÇóÓ°×Ó¡±×Ó³ÌÐò£º .×Ó³ÌÐò ÇóÓ°×Ó

.²ÎÊý ¾ØÕó, Ë«¾«¶ÈСÊýÐÍ, ²Î¿¼ Êý×é .²ÎÊý µØÃæ, Ë«¾«¶ÈСÊýÐÍ, Êý×é .²ÎÊý ¹âԴλÖÃ, СÊýÐÍ, Êý×é .¾Ö²¿±äÁ¿ ÁÙʱ, СÊýÐÍ .¾Ö²¿±äÁ¿ Ñ­»·±äÁ¿1

33

´óÁ¬´óÓÐÎâÌÎÒ×ÓïÑÔÈí¼þ¿ª·¢ÓÐÏÞ¹«Ë¾ °æÈ¨ËùÓÐ

.¾Ö²¿±äÁ¿ Ñ­»·±äÁ¿2

ÁÙʱ £½ 0

.¼Æ´ÎÑ­»·Ê× (4, Ñ­»·±äÁ¿1)

ÁÙʱ £½ ÁÙʱ £« µØÃæ [Ñ­»·±äÁ¿1] ¡Á ¹âԴλÖà [Ñ­»·±äÁ¿1] .¼Æ´ÎÑ­»·Î² ()

.¼Æ´ÎÑ­»·Ê× (4, Ñ­»·±äÁ¿1) .¼Æ´ÎÑ­»·Ê× (4, Ñ­»·±äÁ¿2)

.Èç¹û (Ñ­»·±äÁ¿1 £½ Ñ­»·±äÁ¿2)

¾ØÕó [Ñ­»·±äÁ¿1] [Ñ­»·±äÁ¿2] £½ ÁÙʱ £­ µØÃæ [Ñ­»·±äÁ¿1] ¡Á ¹âԴλÖà [Ñ­»·±äÁ¿2]

.·ñÔò

¾ØÕó [Ñ­»·±äÁ¿1] [Ñ­»·±äÁ¿2] £½ £­µØÃæ [Ñ­»·±äÁ¿1] ¡Á ¹âԴλÖà [Ñ­»·±äÁ¿2]

.Èç¹û½áÊø

.¼Æ´ÎÑ­»·Î² () .¼Æ´ÎÑ­»·Î² ()

7£® ÔÚ¡°¿ò¼Ü³õʼ»¯¡±×Ó³ÌÐòµÄĩβ¼ÓÉÏ ¹âԴλÖà £½ { -1, 2, 2, 0 } ÆôÓù¦ÄÜ (#¹âÕÕ) ÆôÓù¦ÄÜ (#²ÄÖÊÑÕÉ«) ÆôÓù¦ÄÜ (#ÁãºÅ¹âÔ´)

ÉèÖòÄÖÊ (#ÕýÃæ, #»·¾³¹â, { 0.8, 0.2, 0.5, 1 }) ÇóÓ°×Ó (Ó°×Ó, { 0, 1, 0, 0 }, ¹âԴλÖÃ) Á¢·½Ìå±ß³¤µÄÒ»°ë £½ 0.5

8£® ÔÚ¡°»æÍ¼¡±×Ó³ÌÐòÖбêÓС°' ÔÚÕâÀï¼ÓÈëÄãµÄ´úÂ롱µÄÏÂÃæ¼ÓÈëÒÔÏ´úÂ룺 Ðýת½Ç¶È £½ Ðýת½Ç¶È £« 1 .Èç¹ûÕæ (Ðýת½Ç¶È ¡Ý 360) Ðýת½Ç¶È £½ 0 .Èç¹ûÕæ½áÊø

×ø±êÆ½ÒÆ (0, 1, -8) ×ø±êÐýת (45, 1, 0, 0)

×ø±êÐýת (Ðýת½Ç¶È, 0, -1, 0)

ÉèÖùâÔ´²ÎÊý (#ÁãºÅ¹âÔ´, #¹âԴλÖÃ, ¹âԴλÖÃ) ÉèÖÃÑÕÉ« (0.9, 0.6, 0.6, 1) ÉèÖ÷¨ÏòÁ¿ (0, 0, 1)

¿ªÊ¼»­ (#ËıßÐÎ) ' µØ°å

ÉèÖõã (-3, £­Á¢·½Ìå±ß³¤µÄÒ»°ë ¡Á 2, -3) ÉèÖõã (3, £­Á¢·½Ìå±ß³¤µÄÒ»°ë ¡Á 2, -3) ÉèÖõã (3, £­Á¢·½Ìå±ß³¤µÄÒ»°ë ¡Á 2, 3) ÉèÖõã (-3, £­Á¢·½Ìå±ß³¤µÄÒ»°ë ¡Á 2, 3) Í£Ö¹»­ () ¾ØÕóÈëÕ» ()

34