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

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

»æÍ¼×Ó³ÌÐò¿ò¼Ü´úÂëÈçÏ£º

ÉÏÊö´úÂëÖС°Çå³ý»º´æ¡±ÃüÁîÊÇʹÓñ³¾°É«½«ÆÁÄ»Çå³ý£¬ËùÓÐÏÈǰ»­³öÀ´µÄ¶«Î÷¶¼±»Ä¨È¥ÁË¡££¨Óйػº´æ²Ù×÷µÄÄÚÈÝ¿ÉÒԲ鿴µÚÊ®ËĽڵÄÄÚÈÝ£©

¡°¾ØÕó¸´Î»¡±ÃüÁîÊǽ«×ø±ê»¹Ô­µ½Ô­µã¡££¨ÓйØ×ø±êµÄÄÚÈÝ¿ÉÒԲ鿴µÚ¾Å½ÚµÄ£© ¡°½»»»»º´æ¡±ÃüÁîÊÇÔÚË«»º´æÄ£Ê½Ï²ÅÓУ¬Êǽ«ºǫ́»­ÃæÏÔʾ³öÀ´¡£ ÕâÀïûÓÐÏÔʾÈκλ­Ã棬ÒòΪûÓмÓÈë»æÍ¼´úÂë¡£ºóÃæ¼¸½ÚÄÚÈÝÖн«Ö÷Òª½éÉÜÈçºÎÔÚÕâ¸ö×Ó³ÌÐòÖÐÌí¼ÓÓï¾äÀ´ÏÔʾЧ¹û¡£

2.1.6 È·¶¨ÏÔʾ·¶Î§

µ±×é¼þ³ß´ç¿ÉÒÔ±»Óû§ÈÎÒâµ÷Õû´óСʱ£¬ÎªÁËÈÃOpenGLÉ豸³¡¾°´óÐ¡Ò²Í¬Ê±ËæÖ®¸Ä±äÐèÒªµ÷Óᰳߴ类¸Ä±ä¡±×Ó³ÌÐò¡£

¡°³ß´ç±»¸Ä±ä¡±×Ó³ÌÐòÔÚ¡°½¨Á¢OpenGL×é¼þ¡±×Ó³ÌÐòÔËÐÐÖ®ºó¡°»æÍ¼¡±×Ó³ÌÐòÔËÐÐ֮ǰÆðÂëÔËÐÐÒ»´Î£¬ÓÈÆäÊÇÔÚ´°¿Ú»ò×é¼þµÄ´óС±»¸Ä±äµÄʱºòÔÙ´ÎÔËÐС£

µÚÒ»¡¢¶þ¾ä¡°Èç¹ûÕæ¡±ºÍ¡°¸ß¶È=1¡±·ÀÖ¹±»³ýÊý¸ß¶ÈΪ0£¬Èç¹û¸ß¶ÈΪ0¾Í½«Ëü¸ÄΪ1¡£ µÚÈý¾ä¡°ÉèÖÃÊÓ¿Ú¡±ÃüÁîÖ¸¶¨ÁËÉ豸ÖпÉÒÔÏÔʾµÄ·¶Î§¡£

µÚËľ䡰ѡÔñ¾ØÕóģʽ¡±ÃüÁî˵Ã÷½ÓÏÂÀ´½«Òª½øÐвÙ×÷µÄ×ø±ê¾ØÕóΪ¡°#ͶӰ¾ØÕ󡱡£Í¨³£½«Í¶Ó°×ø±êµÄ±ä»»¶¼·ÅÔÚÕâ¸ö¾ØÕóÖС£

µÚÎå¾ä¡°¾ØÕó¸´Î»¡±ÃüÁÉÏ´ÎÉèÖõÄ×ø±ê¾ØÕóµÄ×ø±ê»¹Ô­µ½Ô­µã¡£

µÚÁù¾ä¡°´´½¨ÕýͶӰ¡±ÃüÁîÊǽ¨Á¢Ò»¸öÕýͶӰµÄ×ø±ê»·¾³£¬»­ÃæµÄ×î×ó±ßµÄ×ø±êֵΪ¡ª0£®5£¬×îÓÒ±ßΪ£«0£®5£¬×îÏÂÃæÎª¡ª0£®5£¬×îÉÏÃæÎª£«0£®5£¬ÀëÆÁÄ»×î½üµÄ¾àÀëΪÆÁÄ»ºóÃæ£«0£®1£¬×îÔ¶µÄ¾àÀëΪÆÁÄ»ºóÃæ£«100¡£

7

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

µÚÆß¾ä¡°Ñ¡Ôñ¾ØÕóģʽ¡±ÃüÁîÓÖ½«½ÓÏÂÀ´½«Òª½øÐвÙ×÷µÄ×ø±ê¾ØÕóÉèÖÃΪ¡°#¹Û²ì¾ØÕó¡±£¬ÎÒÃÇ»­Í¼µÄÄÚÈݶ¼·ÅÔÚÕâ¸ö¾ØÕóÖС£

µÚ°Ë¾ä¡°¾ØÕó¸´Î»¡±ÃüÁÉÏ´ÎÉèÖõÄ×ø±ê¾ØÕóµÄ×ø±ê»¹Ô­µ½Ô­µã¡£

2.1.7 OpenGL³õʼ»¯

¡°¿ò¼Ü³õʼ»¯¡±×Ó³ÌÐòÊÇΪÁ˳õʼ»¯OpenGL£¬ËüÔÚ¡°½¨Á¢OpenGL×é¼þ¡±×Ó³ÌÐòÔËÐÐÖ®ºóÖ»ÔËÐÐÒ»´Î£¬±£Ö¤Ò»Ð©³£ÓõÄOpenGLÃüÁî±»¸³ÓèÁ˱à³ÌÕßÏ£ÍûµÄ״ֵ̬¡£

È¥µô±¾×Ó³ÌÐòÖ»»á¸Ä±äOpenGLµÄÏÔʾЧ¹û£¬²»»áΣ¼°Õû¸öÓ¦ÓóÌÐòµÄÔËÐС£

µÚÒ»¾ä¡°Çå³ýÑÕÉ«»º´æ¡±ÃüÁîΪOpenGLÉ豸³¡¾°ÉèÖñ³¾°ÑÕÉ«¡££¨ÓйØÑÕÉ«µÄÄÚÈÝ¿ÉÒԲ鿴µÚËĽڵÄÄÚÈÝ£©

µÚ¶þ¾ä¡°ÉèÖÃÒõӰģʽ¡±ÃüÁî˵Ã÷ÒõӰΪ¹â»¬Ä£Ê½¡£

µÚÈý¾ä¡°Çå³ýÉî¶È»º´æ¡±ÃüÁîÖ¸¶¨Çå³ýÊÓ¿Ú·¶Î§ÀïµÄÉî¶È»º´æ¡£Ö»ÄÜʹÓÃÔÚ[0£¬1]·¶Î§ÄÚµÄÊýÖµ¡£Ëù¹Û²ìÎïÌåµÄ×îÇ°ÃæÎª0£¬×îºóÃæÎª1¡£

µÚËľ䡰ÆôÓù¦ÄÜ¡±ÃüÁî´ò¿ªÉî¶È²âÊÔµÄ״̬¿ª¹Ø

µÚÎå¾ä¡°Éî¶È²âÊÔ¡±ÃüÁîÓëµÚÈý¾ä×éºÏµÃµ½Ò»¸ö²âÊÔÌõ¼þ£¨¼´¡°<1¡±£©£¬½«ËùÓÐÂú×ãÕâ¸öÌõ¼þµÄÎïÌå¶¼ÏÔʾÔÚÆÁÄ»ÉÏ¡£

µÚÁù¾ä¡°ÉèÖû­ÃæÖÊÁ¿¡±ÃüÁîÉèÖÃ͸ÊÓ»­ÃæµÄÏÔʾÖÊÁ¿Îª×îºÃ¡£

Á·Ï°£º

ÏÂÃæ¾Í°´²½Ö轨Á¢Ò»¸ö×î¼òµ¥µÄOpenGLÓ¦ÓóÌÐò¡£ 1£® Æô¶¯Ò×ÓïÑÔOpenGLÏòµ¼£» 2£® Ö±½Óµã»÷Íê³É°´Å¥´´½¨Ò׳ÌÐò£»

3£® ÔÚ¡°»æÍ¼¡±×Ó³ÌÐòÖбêÓС°ÔÚÕâÀï¼ÓÈëÄãµÄ´úÂ롱µÄÏÂÃæ¼ÓÈëÒÔÏ´úÂ룺 »­Ô²×Ó³ÌÐò ({ 0, 0, -1 }, 100)

ÉÏÊö´úÂë±íʾÒÔ¿Õ¼ä×ø±êµã£¨X = 0£¬Y = 0£¬Z = ¡ª1£©ÎªÔ²ÐÄ£¬100Ϊ°ë¾¶»­³öÒ»¸öÔ²¡£ ²Î¿¼Àý³Ì¡°µÚÒ»¿ÎÁ·Ï°.e¡± ÔËÐкó¿ÉÒÔ¿´µ½Í¼ 2ÖÐЧ¹û£º

8

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

ͼ 2

µÚ¶þ½Ú¡¢¿Õ¼ä¶¨Î»

OpenGLµÄ×ø±êϵͳÓëÆÁÄ»µÄ×ø±ê²»Í¬£¬È´ºÍÈÕ³£Éú»î¿Õ¼äºÜÏàËÆ¡£ÈÃÎÒÃÇÀ´¹Û²ìһ϶þÎ¬×ø±êϵÓëÈýÎ¬×ø±êϵµÄÇø±ð¡£

ÏÂÃæÊÇÒ»¸ö»­°åµÄ¶þÎ¬×ø±êϵ¡£

ͼ 3ÖеÄXÖáͨ³£½Ð×öºáÏòλÖã¬YÖáͨ³£½Ð×ö×ÝÏòλÖã¬Ê¹Óõĵ¥Î»Í¨³£ÎªÏóËØ£¬×ø±êÔ­µãʼÖÕÔÚ»­°åµÄ×óÉϽǡ£

ͼ 3

ÏÂÃæÊÇÒ»¸öOpenGLµÄÈýÎ¬×ø±êϵµÄԭʼ״̬¡£

ͼ 4ÖеÄXÖáÔÚÖ§³Ö¿âÖнÐ×öºáÏòλÖã¬YÖáͨÔÚÖ§³Ö¿âÖнÐ×öÊúÏòλÖã¬ZÖáÔÚÖ§³Ö¿âÖнÐ×ö×ÝÏòλÖã¬Ê¹Óõĵ¥Î»Òª¸ù¾Ý³ÌÐòÀ´¶¨£¬Î´¾­Òƶ¯µÄ×ø±êÔ­µãÔÚÆÁÄ»Öм䣬±ØÒªÊ±Ò²¿ÉÒÔ¸ù¾Ý³ÌÐò×Ô¼ºÒƶ¯×ø±êÔ­µãµÄλÖá£ÕýÒòΪ±È»­°åµÄ¶þÎ¬×ø±êϵ¶à³öÒ»¸ùZÖᣬOpenGL²Å¿ÉÒÔ»­³öÒ»¸öÈýάµÄͼÐΡ£

9

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

ͼ 4

¿Õ¼ä×ø±êÿ´ÎÒÆ¶¯µÄ¾àÀë¼°Ðýת½Ç¶È¶¼ÊÇÀۼӵġ£ ±ÈÈ磺

×ø±êÆ½ÒÆ (0,1, 0) ×ø±êÆ½ÒÆ (1, 0,0)

×ø±êÐýת (10, 1, 0, 0) ×ø±êÐýת (10, 0, 1, 0)

×îºóµÃµ½µÄ×ø±êÔ­µã¾ÍÊÇ£¨1£¬1£¬0£©£¬ÐýתµÄ½Ç¶ÈΪºáÏòλÖÃÏÈÏòÓÒÐýת10¶ÈÈ»ºóÊúÏòλÖÃÔÙÏòÉÏÐýת10¶È¡£

Á·Ï°£º

ÏÂÃæ¾Íͨ¹ý»­Ò»¸öµÄÈý½ÇÐÎÀ´Àí½â¿Õ¼äµÄ¶¨Î»¡£ 1£® Æô¶¯Ò×ÓïÑÔOpenGLÏòµ¼£» 2£® µã»÷Íê³É°´Å¥´´½¨³ÌÐò£»

3£® ÔÚ¡°»æÍ¼¡±×Ó³ÌÐò±¸×¢ÖбêÓС°' ÔÚÕâÀï¼ÓÈëÄãµÄ´úÂ롱µÄÏÂÃæ¼ÓÈëÒÔÏ´úÂ룺 ×ø±êÆ½ÒÆ (0, 0, -1)

½«×ø±êÔ­µãÏòÆÁÄ»ÀïÃæÒÆ¶¯Ò»¸öµ¥Î»µÄ¾àÀ룬ֻÓÐÔÚÆÁÄ»ÀïÃæ²ÅÄÜÏÔʾ³öÀ´£¬·ñÔòÎÞ·¨ÏÔʾ¡£0ΪÆÁĻλÖá£

¿ªÊ¼»­ (#Èý½ÇÐÎ)

ÉèÖýÓÏÂÀ´µÄ¡°ÉèÖõ㡱ÃüÁîÊÇÒª»­³öÒ»¸öÈý½ÇÐΡ£ ÉèÖõã (0, 100, 0)

µ±Ç°×ø±êX = 0£¬Y = 100£¬Z = 0£¬Êµ¼Ê×ø±êΪX = 0£¬Y = 100£¬Z = ¡ª1£¬Èý½ÇÐεÄ×î

10