·¢²©ÎÄ
À¶É«ubuntu¿Õ¼ä

stephenliu.blog.chinaunix.net

   
¸öÈË×ÊÁÏ
  • ²©¿Í·ÃÎÊ£º943003
  • ²©ÎÄÊýÁ¿£º165
  • ²©¿Í»ý·Ö£º10025
  • ²©¿ÍµÈ¼¶£ºÉϽ«
  • ×¢²áʱ¼ä£º2006-11-13 11:30:27
¶©ÔÄÎҵIJ©¿Í
  • ¶©ÔÄ
  • ¶©Ôĵ½Ïʹû
  • ¶©Ôĵ½×¥Ïº
  • ¶©Ôĵ½Google
×ÖÌå´óС£º´ó ÖРС²©ÎÄ
·ÖÀࣺ OpenGL


½ñÌìÒª½²µÄÊÇÈýά±ä»»µÄÄÚÈÝ£¬¿Î³Ì±È½Ï¿ÝÔï¡£Ö÷ÒªÊÇÒòΪºÜ¶àº¯ÊýÔÚµ¥¶ÀʹÓÃʱ¶¼²»ºÃÃèÊöÆäЧ¹û£¬ÎÒÖ»ºÃÔÚ×îºó¾ÙÒ»¸ö±È½Ï×ۺϵÄÀý×Ó¡£Ï£Íû´ó¼ÒÄÜÒ»¿ÚÆø¿´µ½µ×ÁË¡£Ö»¿´Ò»´Î¿ÉÄܲ»¹»£¬Èç¹û¸Ð¾õµ½ÃÔºý£¬²»·Á¶à¿´Á½±é¡£ÓÐÒÉÎÊ¿ÉÒÔÔÚÏÂÃæ¸úÌûÌá³ö¡£
ÎÒҲʹÓÃÁËÈô¸ÉͼÐΣ¬Ï£Íû¿ÉÒÔ°ïÖúÀí½â¡£


ÔÚÇ°Ãæ»æÖƼ¸ºÎͼÐεÄʱºò£¬´ó¼ÒÊÇ·ñ¾õµÃÎÒÃÇ»æÍ¼µÄ·¶Î§Ì«ÏÁ°¯ÁËÄØ£¿×ø±êÖ»ÄÜ´Ó-1µ½1£¬»¹Ö»ÄÜÊÇXÖáÏòÓÒ£¬YÖáÏòÉÏ£¬ZÖá´¹Ö±ÆÁÄ»¡£ÕâЩÏÞÖÆ¸øÎÒÃǵĻæÍ¼´øÀ´Á˺ܶ಻±ã¡£

ÎÒÃÇÉú»îÔÚÒ»¸öÈýάµÄÊÀ½ç¡ª¡ªÈç¹ûÒª¹Û²ìÒ»¸öÎïÌ壬ÎÒÃÇ¿ÉÒÔ£º
1¡¢´Ó²»Í¬µÄλÖÃÈ¥¹Û²ìËü¡££¨ÊÓͼ±ä»»£©
2¡¢Òƶ¯»òÕßÐýתËü£¬µ±È»ÁË£¬Èç¹ûËüÖ»ÊǼÆËã»úÀïÃæµÄÎïÌ壬ÎÒÃÇ»¹¿ÉÒÔ·Å´ó»òËõСËü¡££¨Ä£Ðͱ任£©
3¡¢Èç¹û°ÑÎïÌå»­ÏÂÀ´£¬ÎÒÃÇ¿ÉÒÔÑ¡Ôñ£ºÊÇ·ñÐèÒªÒ»ÖÖ¡°½ü´óԶС¡±µÄ͸ÊÓЧ¹û¡£ÁíÍ⣬ÎÒÃÇ¿ÉÄÜֻϣÍû¿´µ½ÎïÌåµÄÒ»²¿·Ö£¬¶ø²»ÊÇÈ«²¿£¨¼ô²Ã£©¡££¨Í¶Ó°±ä»»£©
4¡¢ÎÒÃÇ¿ÉÄÜÏ£Íû°ÑÕû¸ö¿´µ½µÄͼÐλ­ÏÂÀ´£¬µ«ËüÖ»Õ¼¾ÝÖ½ÕŵÄÒ»²¿·Ö£¬¶ø²»ÊÇÈ«²¿¡££¨Êӿڱ任£©
ÕâЩ£¬¶¼¿ÉÒÔÔÚOpenGLÖÐʵÏÖ¡£

OpenGL±ä»»Êµ¼ÊÉÏÊÇͨ¹ý¾ØÕó³Ë·¨À´ÊµÏÖ¡£ÎÞÂÛÊÇÒÆ¶¯¡¢Ðýת»¹ÊÇËõ·Å´óС£¬¶¼ÊÇͨ¹ýÔÚµ±Ç°¾ØÕóµÄ»ù´¡ÉϳËÒÔÒ»¸öеľØÕóÀ´´ïµ½Ä¿µÄ¡£¹ØÓÚ¾ØÕóµÄ֪ʶ£¬ÕâÀï²»Ïêϸ½éÉÜ£¬ÓÐÐËȤµÄÅóÓÑ¿ÉÒÔ¿´¿´ÏßÐÔ´úÊý£¨´óѧÉúµÄ»°¶à°ëÓ¦¸Ãѧ¹ýµÄ£©¡£
OpenGL¿ÉÒÔÔÚ×îµ×²ãÖ±½Ó²Ù×÷¾ØÕ󣬲»¹ý×÷Ϊ³õѧ£¬ÕâÑù×öµÄÒâÒå²¢²»´ó¡£ÕâÀï¾Í²»×ö½éÉÜÁË¡£


1¡¢Ä£Ðͱ任ºÍÊÓͼ±ä»»
´Ó¡°Ïà¶ÔÒÆ¶¯¡±µÄ¹ÛµãÀ´¿´£¬¸Ä±ä¹Û²ìµãµÄλÖÃÓë·½ÏòºÍ¸Ä±äÎïÌå±¾ÉíµÄλÖÃÓë·½Ïò¾ßÓеÈЧÐÔ¡£ÔÚOpenGLÖУ¬ÊµÏÖÕâÁ½ÖÖ¹¦ÄÜÉõÖÁʹÓõÄÊÇͬÑùµÄº¯Êý¡£
ÓÉÓÚÄ£ÐͺÍÊÓͼµÄ±ä»»¶¼Í¨¹ý¾ØÕóÔËËãÀ´ÊµÏÖ£¬ÔÚ½øÐб任ǰ£¬Ó¦ÏÈÉèÖõ±Ç°²Ù×÷µÄ¾ØÕóΪ¡°Ä£ÐÍÊÓͼ¾ØÕ󡱡£ÉèÖõķ½·¨ÊÇÒÔGL_MODELVIEWΪ²ÎÊýµ÷ÓÃglMatrixModeº¯Êý£¬ÏñÕâÑù£º
glMatrixMode(GL_MODELVIEW);
ͨ³££¬ÎÒÃÇÐèÒªÔÚ½øÐб任ǰ°Ñµ±Ç°¾ØÕóÉèÖÃΪµ¥Î»¾ØÕó¡£ÕâÒ²Ö»ÐèÒªÒ»ÐдúÂ룺
glLoadIdentity();

È»ºó£¬¾Í¿ÉÒÔ½øÐÐÄ£Ðͱ任ºÍÊÓͼ±ä»»ÁË¡£½øÐÐÄ£ÐͺÍÊÓͼ±ä»»£¬Ö÷񻃾¼°µ½Èý¸öº¯Êý£º
glTranslate*£¬°Ñµ±Ç°¾ØÕóºÍÒ»¸ö±íÊ¾ÒÆ¶¯ÎïÌåµÄ¾ØÕóÏà³Ë¡£Èý¸ö²ÎÊý·Ö±ð±íʾÁËÔÚÈý¸ö×ø±êÉϵÄÎ»ÒÆÖµ¡£
glRotate*£¬°Ñµ±Ç°¾ØÕóºÍÒ»¸ö±íʾÐýתÎïÌåµÄ¾ØÕóÏà³Ë¡£ÎïÌå½«ÈÆ×Å(0,0,0)µ½(x,y,z)µÄÖ±ÏßÒÔÄæÊ±ÕëÐýת£¬²ÎÊýangle±íʾÐýתµÄ½Ç¶È¡£
glScale*£¬°Ñµ±Ç°¾ØÕóºÍÒ»¸ö±íʾËõ·ÅÎïÌåµÄ¾ØÕóÏà³Ë¡£x,y,z·Ö±ð±íʾÔڸ÷½ÏòÉϵÄËõ·Å±ÈÀý¡£

×¢ÒâÎÒ¶¼ÊÇ˵¡°ÓëXXÏà³Ë¡±£¬¶ø²»ÊÇÖ±½Ó˵¡°Õâ¸öº¯Êý¾ÍÊÇÐýת¡±»òÕß¡°Õâ¸öº¯Êý¾ÍÊÇÒÆ¶¯¡±£¬ÕâÊÇÓÐÔ­ÒòµÄ£¬ÂíÉϾͻὲµ½¡£
¼Ù É赱ǰ¾ØÕóΪµ¥Î»¾ØÕó£¬È»ºóÏȳËÒÔÒ»¸ö±íʾÐýתµÄ¾ØÕóR£¬ÔÙ³ËÒÔÒ»¸ö±íÊ¾ÒÆ¶¯µÄ¾ØÕóT£¬×îºóµÃµ½µÄ¾ØÕóÔÙ³ËÉÏÿһ¸ö¶¥µãµÄ×ø±ê¾ØÕóv¡£ËùÒÔ£¬¾­¹ý±ä»»µÃµ½ µÄ¶¥µã×ø±ê¾ÍÊÇ((RT)v)¡£ÓÉÓÚ¾ØÕó³Ë·¨µÄ½áºÏÂÊ£¬((RT)v) = (R(Tv))£¬»»¾ä»°Ëµ£¬Êµ¼ÊÉÏÊÇÏȽøÐÐÒÆ¶¯£¬È»ºó½øÐÐÐýת¡£¼´£ºÊµ¼Ê±ä»»µÄ˳ÐòÓë´úÂëÖÐдµÄ˳ÐòÊÇÏà·´µÄ¡£ÓÉÓÚ¡°ÏÈÒÆ¶¯ºóÐýת¡±ºÍ¡°ÏÈÐýתºóÒÆ¶¯¡±µÃµ½µÄ½á¹ûºÜ¿ÉÄܲ»Í¬£¬³õѧµÄʱºòÐèÒªÌØ±ð×¢ÒâÕâÒ»µã¡£
OpenGLÖ®ËùÒÔÕâÑùÉè¼Æ£¬ÊÇΪÁ˵õ½¸ü¸ßµÄЧÂÊ¡£µ«ÔÚ»æÖƸ´ÔÓµÄÈýάͼÐÎʱ£¬Èç¹ûÿ´Î¶¼È¥¿¼ÂÇÈçºÎ°Ñ±ä»»µ¹¹ýÀ´£¬Ò²ÊǺÜÍ´¿àµÄÊÂÇé¡£ÕâÀï½éÉÜÁíÒ»ÖÖ˼·£¬¿ÉÒÔÈôúÂë¿´ÆðÀ´¸ü×ÔÈ»£¨Ð´³öµÄ´úÂëÆäʵÍêȫһÑù£¬Ö»ÊÇ¿¼ÂÇÎÊÌâʱÓõķ½·¨²»Í¬ÁË£©¡£
ÈÃÎÒÃÇÏëÏó£¬×ø±ê²¢²»Êǹ̶¨²»±äµÄ¡£ÐýתµÄʱºò£¬×ø±êÏµÍ³Ëæ×ÅÎïÌåÐýת¡£Òƶ¯µÄʱºò£¬×ø±êÏµÍ³Ëæ×ÅÎïÌåÒÆ¶¯¡£Èç´ËÒ»À´£¬¾Í²»ÐèÒª¿¼ÂÇ´úÂëµÄ˳Ðò·´×ªµÄÎÊÌâÁË¡£

ÒÔ É϶¼ÊÇÕë¶Ô¸Ä±äÎïÌåµÄλÖúͷ½ÏòÀ´½éÉܵġ£Èç¹ûÒª¸Ä±ä¹Û²ìµãµÄλÖ㬳ýÁËÅäºÏʹÓÃglRotate*ºÍglTranslate*º¯ÊýÒÔÍ⣬»¹¿ÉÒÔʹÓÃÕâ¸ö º¯Êý£ºgluLookAt¡£ËüµÄ²ÎÊý±È½Ï¶à£¬Ç°Èý¸ö²ÎÊý±íʾÁ˹۲ìµãµÄλÖã¬ÖмäÈý¸ö²ÎÊý±íʾÁ˹۲ìÄ¿±êµÄλÖã¬×îºóÈý¸ö²ÎÊý´ú±í´Ó(0,0,0)µ½ (x,y,z)µÄÖ±Ïߣ¬Ëü±íʾÁ˹۲ìÕßÈÏΪµÄ¡°ÉÏ¡±·½Ïò¡£


2¡¢Í¶Ó°±ä»»

ͶӰ±ä»»¾ÍÊǶ¨ÒåÒ»¸ö¿ÉÊӿռ䣬¿ÉÊÓ¿Õ¼äÒÔÍâµÄÎïÌå²»»á±»»æÖƵ½ÆÁÄ»ÉÏ¡££¨×¢Ò⣬´ÓÏÖÔÚÆð£¬×ø±ê¿ÉÒÔ²»ÔÙÊÇ-1.0µ½1.0ÁË£¡£©
OpenGLÖ§³ÖÁ½ÖÖÀàÐ͵ÄͶӰ±ä»»£¬¼´Í¸ÊÓͶӰºÍÕýͶӰ¡£Í¶Ó°Ò²ÊÇʹÓþØÕóÀ´ÊµÏֵġ£Èç¹ûÐèÒª²Ù×÷ͶӰ¾ØÕó£¬ÐèÒªÒÔGL_PROJECTIONΪ²ÎÊýµ÷ÓÃglMatrixModeº¯Êý¡£
glMatrixMode(GL_PROJECTION);
ͨ³££¬ÎÒÃÇÐèÒªÔÚ½øÐб任ǰ°Ñµ±Ç°¾ØÕóÉèÖÃΪµ¥Î»¾ØÕó¡£
glLoadIdentity();

͸ÊÓͶӰËù²úÉúµÄ½á¹ûÀàËÆÓÚÕÕÆ¬£¬Óнü´óԶСµÄЧ¹û£¬±ÈÈçÔÚ»ð³µÍ·ÄÚÏòǰÕÕÒ»¸öÌú¹ìµÄÕÕÆ¬£¬Á½ÌõÌú¹ìËÆºõÔÚÔ¶´¦ÏཻÁË¡£
ʹÓÃglFrustumº¯Êý¿ÉÒÔ½«µ±Ç°µÄ¿ÉÊÓ¿Õ¼äÉèÖÃΪ͸ÊÓͶӰ¿Õ¼ä¡£Æä²ÎÊýµÄÒâÒåÈçÏÂͼ£º
http://blog.programfan.com/upfile/200610/20061007151547.gif
ÉùÃ÷£º¸ÃͼƬÀ´×Ôwww.opengl.org£¬¸ÃͼƬÊÇ¡¶OpenGL±à³ÌÖ¸ÄÏ¡·Ò»ÊéµÄ¸½Í¼£¬ÓÉÓÚ¸ÃÊéµÄ¾É°æ£¨µÚÒ»°æ£¬1994Ä꣩ÒѾ­Á÷´«ÓÚÍøÂ磬ÎÒÏ£ÍûûÓд¥¼°µ½°æÈ¨ÎÊÌâ¡£
Ò²¿ÉÒÔʹÓøü³£ÓõÄgluPerspectiveº¯Êý¡£Æä²ÎÊýµÄÒâÒåÈçÏÂͼ£º
http://blog.programfan.com/upfile/200610/2006100715161.gif
ÉùÃ÷£º¸ÃͼƬÀ´×Ôwww.opengl.org£¬¸ÃͼƬÊÇ¡¶OpenGL±à³ÌÖ¸ÄÏ¡·Ò»ÊéµÄ¸½Í¼£¬ÓÉÓÚ¸ÃÊéµÄ¾É°æ£¨µÚÒ»°æ£¬1994Ä꣩ÒѾ­Á÷´«ÓÚÍøÂ磬ÎÒÏ£ÍûûÓд¥¼°µ½°æÈ¨ÎÊÌâ¡£

ÕýͶӰÏ൱ÓÚÔÚÎÞÏÞÔ¶´¦¹Û²ìµÃµ½µÄ½á¹û£¬ËüÖ»ÊÇÒ»ÖÖÀíÏë״̬¡£µ«¶ÔÓÚ¼ÆËã»úÀ´Ëµ£¬Ê¹ÓÃÕýͶӰÓпÉÄÜ»ñµÃ¸üºÃµÄÔËÐÐËÙ¶È¡£
ʹÓÃglOrthoº¯Êý¿ÉÒÔ½«µ±Ç°µÄ¿ÉÊÓ¿Õ¼äÉèÖÃΪÕýͶӰ¿Õ¼ä¡£Æä²ÎÊýµÄÒâÒåÈçÏÂͼ£º
http://blog.programfan.com/upfile/200610/20061007151619.gif
ÉùÃ÷£º¸ÃͼƬÀ´×Ôwww.opengl.org£¬¸ÃͼƬÊÇ¡¶OpenGL±à³ÌÖ¸ÄÏ¡·Ò»ÊéµÄ¸½Í¼£¬ÓÉÓÚ¸ÃÊéµÄ¾É°æ£¨µÚÒ»°æ£¬1994Ä꣩ÒѾ­Á÷´«ÓÚÍøÂ磬ÎÒÏ£ÍûûÓд¥¼°µ½°æÈ¨ÎÊÌâ¡£

Èç¹û»æÖƵÄͼÐοռ䱾Éí¾ÍÊǶþάµÄ£¬¿ÉÒÔʹÓÃgluOrtho2D¡£ËûµÄʹÓÃÀàËÆÓÚglOrgho¡£


3¡¢Êӿڱ任
µ±Ò»Çй¤×÷ÒѾ­¾ÍÐ÷£¬Ö»ÐèÒª°ÑÏñËØ»æÖƵ½ÆÁÄ»ÉÏÁË¡£Õâʱºò»¹Ê£×îºóÒ»¸öÎÊÌ⣺Ӧ¸Ã°ÑÏñËØ»æÖƵ½´°¿ÚµÄÄĸöÇøÓòÄØ£¿Í¨³£Çé¿öÏ£¬Ä¬ÈÏÊÇÍêÕûµÄÌî³äÕû¸ö´°¿Ú£¬µ«ÎÒÃÇÍêÈ«¿ÉÒÔÖ»Ìî³äÒ»°ë¡££¨¼´£º°ÑÕû¸öͼÏóÌî³äµ½Ò»°ëµÄ´°¿ÚÄÚ£©
http://blog.programfan.com/upfile/200610/20061007151639.gif
ÉùÃ÷£º¸ÃͼƬÀ´×Ôwww.opengl.org£¬¸ÃͼƬÊÇ¡¶OpenGL±à³ÌÖ¸ÄÏ¡·Ò»ÊéµÄ¸½Í¼£¬ÓÉÓÚ¸ÃÊéµÄ¾É°æ£¨µÚÒ»°æ£¬1994Ä꣩ÒѾ­Á÷´«ÓÚÍøÂ磬ÎÒÏ£ÍûûÓд¥¼°µ½°æÈ¨ÎÊÌâ¡£

ʹÓÃglViewportÀ´¶¨ÒåÊÓ¿Ú¡£ÆäÖÐǰÁ½¸ö²ÎÊý¶¨ÒåÁËÊÓ¿ÚµÄ×óϽţ¨0,0±íʾ×î×óÏ·½£©£¬ºóÁ½¸ö²ÎÊý·Ö±ðÊÇ¿í¶ÈºÍ¸ß¶È¡£

4¡¢²Ù×÷¾ØÕó¶ÑÕ»
½é ÓÚÊÇÈëÃŽ̳̣¬Ïȼòµ¥½éÉÜһ϶ÑÕ»¡£Äã¿ÉÒ԰ѶÑÕ»ÏëÏó³ÉÒ»µþÅÌ×Ó¡£¿ªÊ¼µÄʱºòÒ»¸öÅÌ×ÓҲûÓУ¬Äã¿ÉÒÔÒ»¸öÒ»¸öÍùÉÏ·Å£¬Ò²¿ÉÒÔÒ»¸öÒ»¸öÈ¡ÏÂÀ´¡£Ã¿´ÎÈ¡Ïµģ¬ ¶¼ÊÇ×îºóÒ»´Î±»·ÅÉÏÈ¥µÄÅÌ×Ó¡£Í¨³££¬ÔÚ¼ÆËã»úʵÏÖ¶Ñջʱ£¬¶ÑÕ»µÄÈÝÁ¿ÊÇÓÐÏ޵ģ¬Èç¹ûÅÌ×Ó¹ý¶à£¬¾Í»á³ö´í¡£µ±È»£¬Èç¹ûûÓÐÅÌ×ÓÁË£¬ÔÙÒªÇóȡһ¸öÅÌ×Ó£¬Ò²»á³ö ´í¡£
ÎÒÃÇÔÚ½øÐоØÕó²Ù×÷ʱ£¬ÓпÉÄÜÐèÒªÏȱ£´æÄ³¸ö¾ØÕ󣬹ýÒ»¶Îʱ¼äÔÙ»Ö¸´Ëü¡£µ±ÎÒÃÇÐèÒª±£´æÊ±£¬µ÷ÓÃglPushMatrixº¯Êý£¬ËüÏ൱ÓÚ°Ñ¾Ø Õó£¨Ï൱ÓÚÅÌ×Ó£©·Åµ½¶ÑÕ»ÉÏ¡£µ±ÐèÒª»Ö¸´×î½üÒ»´ÎµÄ±£´æÊ±£¬µ÷ÓÃglPopMatrixº¯Êý£¬ËüÏ൱ÓڰѾØÕó´Ó¶ÑÕ»ÉÏȡϡ£OpenGL¹æ¶¨¶ÑÕ»µÄÈÝÁ¿ÖÁ ÉÙ¿ÉÒÔÈÝÄÉ32¸ö¾ØÕó£¬Ä³Ð©OpenGLʵÏÖÖУ¬¶ÑÕ»µÄÈÝÁ¿Êµ¼ÊÉϳ¬¹ýÁË32¸ö¡£Òò´Ë²»±Ø¹ýÓÚµ£ÐľØÕóµÄÈÝÁ¿ÎÊÌâ¡£
ͨ³££¬ÓÃÕâÖÖÏȱ£´æºó»Ö¸´µÄ´ëÊ©£¬±ÈÏȱ任ÔÙÄæ±ä»»Òª¸ü·½±ã£¬¸ü¿ìËÙ¡£
×¢Ò⣺ģÐÍÊÓͼ¾ØÕóºÍͶӰ¾ØÕó¶¼ÓÐÏàÓ¦µÄ¶ÑÕ»¡£Ê¹ÓÃglMatrixModeÀ´Ö¸¶¨µ±Ç°²Ù×÷µÄ¾¿¾¹ÊÇÄ£ÐÍÊÓͼ¾ØÕó»¹ÊÇͶӰ¾ØÕó¡£

5¡¢×ۺϾÙÀý
ºÃÁË£¬ÊÓͼ±ä»»µÄÈëÃÅ֪ʶ²î²»¶à¾Í½²ÍêÁË¡£µ«ÎÒÃDz»ÄܾÍÕâÑù½áÊø¡£ÒòΪ±¾´Î¿Î³ÌµÄÄÚÈÝʵÔÚ¹ýÓÚ¿ÝÔÈç¹û·Ö±ð¾ÙÀý£¬¿ÉÄÜЧ¹û²»¼Ñ¡£ÎÒÖ»ºÃ×ۺϵĽ²Ò»¸öÀý×Ó£¬ËãÊǸø´ó¼ÒÒ»¸ö²Î¿¼¡£ÖÁÓÚʵ¼ÊµÄÕÆÎÕ£¬»¹Òª¿¿´ó¼Ò×Ô¼º»¨¹¦·ò¡£Ïл°ÉÙ˵£¬ÏÖÔÚ½øÈëÕýÌâ¡£

ÎÒ ÃÇÒªÖÆ×÷µÄÊÇÒ»¸öÈýά³¡¾°£¬°üÀ¨ÁËÌ«Ñô¡¢µØÇòºÍÔÂÁÁ¡£¼Ù¶¨Ò»ÄêÓÐ12¸öÔ£¬Ã¿¸öÔÂ30Ì졣ÿÄ꣬µØÇòÈÆ×ÅÌ«ÑôתһȦ¡£Ã¿¸öÔ£¬ÔÂÁÁΧ×ŵØÇòתһȦ¡£¼´Ò»Äê ÓÐ360Ìì¡£ÏÖÔÚ¸ø³öÈͮ򵀱àºÅ£¨0~359£©£¬ÒªÇó»æÖƳöÌ«Ñô¡¢µØÇò¡¢ÔÂÁÁµÄÏà¶ÔλÖÃʾÒâͼ¡££¨ÕâÊÇΪÁ˱à³Ì·½±ã²ÅÕâÑùÉè¼ÆµÄ¡£Èç¹ûÐèÒªÖÆ×÷¸üÏÖʵµÄÇé ¿ö£¬ÄÇÒ²Ö»ÊÇһЩÊýÖµ´¦Àí¶øÒÑ£¬ÓëOpenGL¹ØÏµ²»´ó£©
Ê×ÏÈ£¬ÈÃÎÒÃÇÈ϶¨ÕâÈý¸öÌìÌå¶¼ÊÇÇòÐΣ¬ÇÒËûÃǵÄÔ˶¯¹ì¼£´¦ÓÚÍ¬Ò»Ë®Æ½Ãæ£¬½¨Á¢ÒÔÏÂ×ø±êϵ£ºÌ«ÑôµÄÖÐÐÄΪԭµã£¬ÌìÌå¹ì¼£ËùÔ򵀮½Ãæ±íʾÁËXÖáÓëYÖá¾ö¶¨µÄÆ½Ãæ£¬ÇÒÿÄêµÚÒ»Ì죬µØÇòÔÚXÖáÕý·½ÏòÉÏ£¬ÔÂÁÁÔÚµØÇòµÄÕýXÖá·½Ïò¡£
Ï һ²½ÊÇÈ·Á¢¿ÉÊӿռ䡣עÒ⣺̫ÑôµÄ°ë¾¶Òª±ÈÌ«Ñôµ½µØÇòµÄ¾àÀë¶ÌµÃ¶à¡£Èç¹ûÎÒÃÇÖ±½ÓʹÓÃÌìÎĹ۲âµÃµ½µÄ³¤¶È±ÈÀý£¬Ôòµ±Õû¸ö´°¿Ú±íʾµØÇò¹ìµÀ´óСʱ£¬Ì«ÑôµÄ´ó С½«±»ºöÂÔ¡£Òò´Ë£¬ÎÒÃÇÖ»Äܳɱ¶µÄ·Å´ó¼¸¸öÌìÌåµÄ°ë¾¶£¬ÒÔÊÊÓ¦ÎÒÃǹ۲ìµÄÐèÒª¡££¨°Ù¶Èһϣ¬µÃµ½Ì«Ñô¡¢µØÇò¡¢ÔÂÁÁµÄ´óÖ°뾶·Ö±ðÊÇ£º696000km£¬  6378km£¬1738km¡£µØÇòµ½Ì«ÑôµÄ¾àÀëԼΪ1.5ÒÚkm=150000000km£¬ÔÂÁÁµ½µØÇòµÄ¾àÀëԼΪ380000km¡££©
ÈÃÎÒÃǼÙÏëһЩÊý¾Ý£¬½«Èý¸öÌìÌåµÄ°ë¾¶·Ö±ð¡°Ð޸ġ±Îª£º69600000£¨·Å´ó100±¶£©£¬15945000£¨·Å´ó2500±¶£©£¬4345000£¨·Å´ó5000±¶£©¡£½«µØÇòµ½ÔÂÁÁµÄ¾àÀë¡°Ð޸ġ±Îª38000000£¨·Å´ó100±¶£©¡£µØÇòµ½Ì«ÑôµÄ¾àÀë±£³Ö²»±ä¡£
Ϊ ÁËÈõØÇòºÍÔÂÁÁÔÚÀëÎÒÃǺܽüʱ£¬ÎÒÃÇÈÔÈ»²»ÐèÒª±ä»»¹Û²ìµãºÍ¹Û²ì·½Ïò¾Í¿ÉÒÔ¹Û²ìËüÃÇ£¬ÎÒÃǰѹ۲ìµã·ÅÔÚÕâ¸öλÖãº(0, -200000000, 0)  ¡ª¡ªÒòΪµØÇò¹ìµÀ°ë¾¶Îª150000000£¬ÔÛÃǾʹոöÕû£¬È¡-200000000¾Í¿ÉÒÔÁË¡£¹Û²ìÄ¿±êÉèÖÃΪԭµã£¨¼´Ì«ÑôÖÐÐÄ£©£¬Ñ¡ÔñZÖáÕý·½Ïò×÷Ϊ  ¡°ÉÏ¡±·½¡£µ±È»ÎÒÃÇ»¹¿ÉÒ԰ѹ۲ìµãÍù¡°ÉÏ¡±·½Òƶ¯Ò»Ð©£¬µÃµ½(0, -200000000, 200000000)£¬ÕâÑù¿ÉÒԵõ½45¶È½ÇµÄ¸©ÊÓЧ¹û¡£
Ϊ Á˵õ½Í¸ÊÓЧ¹û£¬ÎÒÃÇʹÓÃgluPerspectiveÀ´ÉèÖÿÉÊӿռ䡣¼Ù¶¨¿ÉÊÓ½ÇΪ60¶È£¨Èç¹ûµ÷ÊÔʱ·¢ÏָýǶȲ»ºÏÊÊ£¬¿ÉÐÞ¸ÄÖ®¡£ÎÒÔÚ×îºóÑ¡ÔñµÄÊýÖµ ÊÇ75¡££©£¬¸ß¿í±ÈΪ1.0¡£×î½ü¿ÉÊÓ¾àÀëΪ1.0£¬×îÔ¶¿ÉÊÓ¾àÀëΪ200000000*2=400000000¡£¼´£ºgluPerspective  (60, 1, 1, 400000000);


5¡¢×ۺϾÙÀý
ºÃÁË£¬ÊÓͼ±ä»»µÄÈëÃÅ֪ʶ²î²»¶à¾Í½²ÍêÁË¡£µ«ÎÒÃDz»ÄܾÍÕâÑù½áÊø¡£ÒòΪ±¾´Î¿Î³ÌµÄÄÚÈÝʵÔÚ¹ýÓÚ¿ÝÔÈç¹û·Ö±ð¾ÙÀý£¬¿ÉÄÜЧ¹û²»¼Ñ¡£ÎÒÖ»ºÃ×ۺϵĽ²Ò»¸öÀý×Ó£¬ËãÊǸø´ó¼ÒÒ»¸ö²Î¿¼¡£ÖÁÓÚʵ¼ÊµÄÕÆÎÕ£¬»¹Òª¿¿´ó¼Ò×Ô¼º»¨¹¦·ò¡£Ïл°ÉÙ˵£¬ÏÖÔÚ½øÈëÕýÌâ¡£

ÎÒ ÃÇÒªÖÆ×÷µÄÊÇÒ»¸öÈýά³¡¾°£¬°üÀ¨ÁËÌ«Ñô¡¢µØÇòºÍÔÂÁÁ¡£¼Ù¶¨Ò»ÄêÓÐ12¸öÔ£¬Ã¿¸öÔÂ30Ì졣ÿÄ꣬µØÇòÈÆ×ÅÌ«ÑôתһȦ¡£Ã¿¸öÔ£¬ÔÂÁÁΧ×ŵØÇòתһȦ¡£¼´Ò»Äê ÓÐ360Ìì¡£ÏÖÔÚ¸ø³öÈͮ򵀱àºÅ£¨0~359£©£¬ÒªÇó»æÖƳöÌ«Ñô¡¢µØÇò¡¢ÔÂÁÁµÄÏà¶ÔλÖÃʾÒâͼ¡££¨ÕâÊÇΪÁ˱à³Ì·½±ã²ÅÕâÑùÉè¼ÆµÄ¡£Èç¹ûÐèÒªÖÆ×÷¸üÏÖʵµÄÇé ¿ö£¬ÄÇÒ²Ö»ÊÇһЩÊýÖµ´¦Àí¶øÒÑ£¬ÓëOpenGL¹ØÏµ²»´ó£©
Ê×ÏÈ£¬ÈÃÎÒÃÇÈ϶¨ÕâÈý¸öÌìÌå¶¼ÊÇÇòÐΣ¬ÇÒËûÃǵÄÔ˶¯¹ì¼£´¦ÓÚÍ¬Ò»Ë®Æ½Ãæ£¬½¨Á¢ÒÔÏÂ×ø±êϵ£ºÌ«ÑôµÄÖÐÐÄΪԭµã£¬ÌìÌå¹ì¼£ËùÔ򵀮½Ãæ±íʾÁËXÖáÓëYÖá¾ö¶¨µÄÆ½Ãæ£¬ÇÒÿÄêµÚÒ»Ì죬µØÇòÔÚXÖáÕý·½ÏòÉÏ£¬ÔÂÁÁÔÚµØÇòµÄÕýXÖá·½Ïò¡£
Ï һ²½ÊÇÈ·Á¢¿ÉÊӿռ䡣עÒ⣺̫ÑôµÄ°ë¾¶Òª±ÈÌ«Ñôµ½µØÇòµÄ¾àÀë¶ÌµÃ¶à¡£Èç¹ûÎÒÃÇÖ±½ÓʹÓÃÌìÎĹ۲âµÃµ½µÄ³¤¶È±ÈÀý£¬Ôòµ±Õû¸ö´°¿Ú±íʾµØÇò¹ìµÀ´óСʱ£¬Ì«ÑôµÄ´ó С½«±»ºöÂÔ¡£Òò´Ë£¬ÎÒÃÇÖ»Äܳɱ¶µÄ·Å´ó¼¸¸öÌìÌåµÄ°ë¾¶£¬ÒÔÊÊÓ¦ÎÒÃǹ۲ìµÄÐèÒª¡££¨°Ù¶Èһϣ¬µÃµ½Ì«Ñô¡¢µØÇò¡¢ÔÂÁÁµÄ´óÖ°뾶·Ö±ðÊÇ£º696000km£¬ 6378km£¬1738km¡£µØÇòµ½Ì«ÑôµÄ¾àÀëԼΪ1.5ÒÚkm=150000000km£¬ÔÂÁÁµ½µØÇòµÄ¾àÀëԼΪ380000km¡££©
ÈÃÎÒÃǼÙÏëһЩÊý¾Ý£¬½«Èý¸öÌìÌåµÄ°ë¾¶·Ö±ð¡°Ð޸ġ±Îª£º69600000£¨·Å´ó100±¶£©£¬15945000£¨·Å´ó2500±¶£©£¬4345000£¨·Å´ó2500±¶£©¡£½«µØÇòµ½ÔÂÁÁµÄ¾àÀë¡°Ð޸ġ±Îª38000000£¨·Å´ó100±¶£©¡£µØÇòµ½Ì«ÑôµÄ¾àÀë±£³Ö²»±ä¡£
Ϊ ÁËÈõØÇòºÍÔÂÁÁÔÚÀëÎÒÃǺܽüʱ£¬ÎÒÃÇÈÔÈ»²»ÐèÒª±ä»»¹Û²ìµãºÍ¹Û²ì·½Ïò¾Í¿ÉÒÔ¹Û²ìËüÃÇ£¬ÎÒÃǰѹ۲ìµã·ÅÔÚÕâ¸öλÖãº(0, -200000000, 0) ¡ª¡ªÒòΪµØÇò¹ìµÀ°ë¾¶Îª150000000£¬ÔÛÃǾʹոöÕû£¬È¡-200000000¾Í¿ÉÒÔÁË¡£¹Û²ìÄ¿±êÉèÖÃΪԭµã£¨¼´Ì«ÑôÖÐÐÄ£©£¬Ñ¡ÔñZÖáÕý·½Ïò×÷Ϊ ¡°ÉÏ¡±·½¡£µ±È»ÎÒÃÇ»¹¿ÉÒ԰ѹ۲ìµãÍù¡°ÉÏ¡±·½Òƶ¯Ò»Ð©£¬µÃµ½(0, -200000000, 200000000)£¬ÕâÑù¿ÉÒԵõ½45¶È½ÇµÄ¸©ÊÓЧ¹û¡£
Ϊ Á˵õ½Í¸ÊÓЧ¹û£¬ÎÒÃÇʹÓÃgluPerspectiveÀ´ÉèÖÿÉÊӿռ䡣¼Ù¶¨¿ÉÊÓ½ÇΪ60¶È£¨Èç¹ûµ÷ÊÔʱ·¢ÏָýǶȲ»ºÏÊÊ£¬¿ÉÐÞ¸ÄÖ®¡£ÎÒÔÚ×îºóÑ¡ÔñµÄÊýÖµ ÊÇ75¡££©£¬¸ß¿í±ÈΪ1.0¡£×î½ü¿ÉÊÓ¾àÀëΪ1.0£¬×îÔ¶¿ÉÊÓ¾àÀëΪ200000000*2=400000000¡£¼´£ºgluPerspective (60, 1, 1, 400000000);


ÏÖÔÚÎÒÃÇÀ´¿´¿´ÈçºÎ»æÖÆÕâÈý¸öÌìÌå¡£
ΪÁ˼òµ¥Æð¼û£¬ÎÒÃǰÑÈý¸öÌìÌå¶¼ÏëÏó³É¹æÔòµÄÇòÌå¡£¶øÎÒÃÇËùʹÓõÄglutʵÓù¤¾ßÖУ¬ÕýºÃ¾ÍÓÐÒ»¸ö»æÖÆÇòÌå µÄÏֳɺ¯Êý£ºglutSolidSphere£¬Õâ¸öº¯ÊýÔÚ¡°Ô­µã¡±»æÖƳöÒ»¸öÇòÌå¡£ÓÉÓÚ×ø±êÊÇ¿ÉÒÔͨ¹ýglTranslate*ºÍglRotate*Á½¸ö º¯Êý½øÐÐËæÒâ±ä»»µÄ£¬ËùÒÔÎÒÃǾͿÉÒÔÔÚÈÎÒâλÖûæÖÆÇòÌåÁË¡£º¯ÊýÓÐÈý¸ö²ÎÊý£ºµÚÒ»¸ö²ÎÊý±íʾÇòÌåµÄ°ë¾¶£¬ºóÁ½¸ö²ÎÊý´ú±íÁË¡°Ã桱µÄÊýÄ¿£¬¼òµ¥µã˵¾ÍÊÇÇòÌå µÄ¾«È·³Ì¶È£¬ÊýÖµÔ½´óÔ½¾«È·£¬µ±È»´ú¼Û¾ÍÊÇËÙ¶ÈÔ½»ºÂý¡£ÕâÀïÎÒÃÇÖ»ÊǼòµ¥µÄÉèÖúóÁ½¸ö²ÎÊýΪ20¡£
Ì«ÑôÔÚ×ø±êÔ­µã£¬ËùÒÔ²»ÐèÒª¾­¹ýÈκα任£¬Ö±½Ó»æÖƾͿÉÒÔÁË¡£
µØÇòÔòÒª¸´ÔÓÒ»µã£¬ÐèÒª±ä»»×ø±ê¡£ÓÉÓÚ½ñÄêÒѾ­¾­¹ýµÄÌìÊýÒÑ֪Ϊday£¬ÔòµØÇòת¹ýµÄ½Ç¶ÈΪday/Ò»ÄêµÄÌìÊý*360¶È¡£Ç°ÃæÒѾ­¼Ù¶¨Ã¿Äê¶¼ÊÇ360Ì죬Òò´ËµØÇòת¹ýµÄ½Ç¶ÈÇ¡ºÃΪday¡£ËùÒÔ¿ÉÒÔͨ¹ýÏÂÃæµÄ´úÂëÀ´½â¾ö£º
glRotatef(day, 0, 0, -1);
/* ×¢ÒâµØÇò¹«×ªÊÇ¡°×ÔÎ÷Ïò¶«¡±µÄ£¬Òò´ËÊÇÈÄ×ÅZÖḺ·½Ïò½øÐÐÄæÊ±ÕëÐýת */
glTranslatef(µØÇò¹ìµÀ°ë¾¶, 0, 0);
glutSolidSphere(µØÇò°ë¾¶, 20, 20);
ÔÂÁÁÊÇ×Ôӵġ£ÒòΪËü²»½öÒªÈÆµØÇòת£¬»¹ÒªËæ×ŵØÇòÈÆÌ«Ñôת¡£µ«Èç¹ûÎÒÃÇÑ¡ÔñµØÇò×÷Ϊ²Î¿¼£¬ÔòÔÂÁÁ½øÐеÄÔ˶¯¾ÍÊÇÒ»¸ö¼òµ¥µÄÔ²ÖÜÔ˶¯ÁË¡£Èç¹ûÎÒÃÇÏÈ»æÖƵØÇò£¬ÔÙ»æÖÆÔÂÁÁ£¬ÔòÖ»ÐèÒª½øÐÐÓëµØÇòÀàËÆµÄ±ä»»£º
glRotatef(ÔÂÁÁÐýתµÄ½Ç¶È, 0, 0, -1);
glTranslatef(ÔÂÁÁ¹ìµÀ°ë¾¶, 0, 0);
glutSolidSphere(ÔÂÁÁ°ë¾¶, 20, 20);
µ« Õâ¸ö¡°ÔÂÁÁÐýתµÄ½Ç¶È¡±£¬²¢²»Äܼòµ¥µÄÀí½âΪday/Ò»¸öÔµÄÌìÊý30*360¶È¡£ÒòΪÎÒÃÇÔÚ»æÖƵØÇòʱ£¬Õâ¸ö×ø±êÒѾ­ÊÇÐýת¹ýµÄ¡£ÏÖÔÚµÄÐýתÊÇÔÚÒÔǰµÄ »ù´¡ÉϽøÐÐÐýת£¬Òò´Ë»¹ÐèÒª´¦ÀíÕâ¸ö¡°²îÖµ¡±¡£ÎÒÃÇ¿ÉÒÔд³É£ºday/30*360 - day£¬¼´¼õÈ¥Ô­À´ÒѾ­×ª¹ýµÄ½Ç¶È¡£ÕâÖ»ÊÇÒ»ÖÖ¼òµ¥µÄ´¦Àí£¬µ±È» Ò²¿ÉÒÔÔÚ»æÖƵØÇòǰÓÃglPushMatrix±£´æ¾ØÕ󣬻æÖƵØÇòºóÓÃglPopMatrix»Ö¸´¾ØÕó¡£ÔÙÉè¼ÆÒ»¸ö¸úµØÇòλÖÃÎ޹صÄÔÂÁÁλÖù«Ê½£¬À´»æÖÆ ÔÂÁÁ¡£Í¨³£ºóÒ»ÖÖ·½·¨±ÈǰһÖÖÒªºÃ£¬ÒòΪ¸¡µãµÄÔËËãÊDz»¾«È·µÄ£¬¼´ÊÇ˵ÎÒÃǼÆËãµØÇò±¾ÉíµÄλÖþÍÊDz»¾«È·µÄ¡£ÄÃÕâ¸ö²»¾«È·µÄÊýÈ¥¼ÆËãÔÂÁÁµÄλÖ㬻ᵼ֠¡°²»¾«È·¡±µÄ³É·ÖÀÛ»ý£¬¹ý¶àµÄ¡°²»¾«È·¡±»áÔì³É´íÎó¡£ÎÒÃÇÕâ¸öС³ÌÐòûÓÐÈ¥¿¼ÂÇÕâ¸ö£¬µ«²¢²»ÊÇ˵Õâ¸öÎÊÌâ²»ÖØÒª¡£
»¹ÓÐÒ»¸öÐèҪעÒâµÄϸ½Ú£º OpenGL°ÑÈýÎ¬×ø±êÖеÄÎïÌ廿֯µ½¶þάÆÁÄ»£¬»æÖƵÄ˳ÐòÊǰ´ÕÕ´úÂëµÄ˳ÐòÀ´½øÐеġ£Òò´Ëºó»æÖƵÄÎïÌå»áÕÚסÏÈ»æÖƵÄÎïÌ壬¼´Ê¹ºó»æÖƵÄÎïÌåÔÚÏÈ»æÖÆµÄ ÎïÌåµÄ¡°ºóÃæ¡±Ò²ÊÇÈç´Ë¡£Ê¹ÓÃÉî¶È²âÊÔ¿ÉÒÔ½â¾öÕâÒ»ÎÊÌ⡣ʹÓõķ½·¨ÊÇ£º1¡¢ÒÔGL_DEPTH_TESTΪ²ÎÊýµ÷ÓÃglEnableº¯Êý£¬Æô¶¯Éî¶È²â ÊÔ¡£2¡¢ÔÚ±ØÒªÊ±£¨Í¨³£ÊÇÿ´Î»æÖÆ»­Ã濪ʼʱ£©£¬Çå¿ÕÉî¶È»º³å£¬¼´£ºglClear(GL_DEPTH_BUFFER_BIT);ÆäÖУ¬glClear (GL_COLOR_BUFFER_BIT)ÓëglClear(GL_DEPTH_BUFFER_BIT)¿ÉÒԺϲ¢Ð´Îª£º
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
ÇÒºóÕßµÄÔËÐÐËÙ¶È¿ÉÄܱÈǰÕ߿졣


µ½´ËΪֹ£¬ÎÒÃÇÖÕÓÚ¿ÉÒԵõ½Õû¸ö¡°Ì«Ñô£¬µØÇòºÍÔÂÁÁ¡±ÏµÍ³µÄÍêÕû´úÂë¡£


Code:
--------------------------------------------------------------------------------
// Ì«Ñô¡¢µØÇòºÍÔÂÁÁ
// ¼ÙÉèÿ¸öÔ¶¼ÊÇ30Ìì
// Ò»Äê12¸öÔ£¬¹²ÊÇ360Ìì
static int day = 200; // dayµÄ±ä»¯£º´Ó0µ½359
void myDisplay(void)
{
    glEnable(GL_DEPTH_TEST);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluPerspective(75, 1, 1, 400000000);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    gluLookAt(0, -200000000, 200000000, 0, 0, 0, 0, 0, 1);

    // »æÖƺìÉ«µÄ¡°Ì«Ñô¡±
    glColor3f(1.0f, 0.0f, 0.0f);
    glutSolidSphere(69600000, 20, 20);
    // »æÖÆÀ¶É«µÄ¡°µØÇò¡±
    glColor3f(0.0f, 0.0f, 1.0f);
    glRotatef(day/360.0*360.0, 0.0f, 0.0f, -1.0f);
    glTranslatef(150000000, 0.0f, 0.0f);
    glutSolidSphere(15945000, 20, 20);
    // »æÖÆ»ÆÉ«µÄ¡°ÔÂÁÁ¡±
    glColor3f(1.0f, 1.0f, 0.0f);
    glRotatef(day/30.0*360.0 - day/360.0*360.0, 0.0f, 0.0f, -1.0f);
    glTranslatef(38000000, 0.0f, 0.0f);
    glutSolidSphere(4345000, 20, 20);

    glFlush();
}
--------------------------------------------------------------------------------



ÊÔÐÞ¸ÄdayµÄÖµ£¬¿´¿´»­ÃæÓкα仯¡£


С½á£º±¾¿Î¿ªÊ¼£¬ÎÒÃÇÕýʽ½øÈëÁËÈýάµÄOpenGLÊÀ½ç¡£
OpenGLͨ¹ý¾ØÕó±ä»»À´°ÑÈýάÎïÌåת±äΪ¶þάͼÏ󣬽ø¶øÔÚÆÁÄ»ÉÏÏÔʾ³öÀ´¡£ÎªÁËÖ¸¶¨µ±Ç°²Ù×÷µÄÊǺÎÖÖ¾ØÕó£¬ÎÒÃÇʹÓÃÁ˺¯ÊýglMatrixMode¡£
ÎÒÃÇ¿ÉÒÔÒÆ¶¯¡¢Ðýת¹Û²ìµã»òÕßÒÆ¶¯¡¢ÐýתÎïÌ壬ʹÓõĺ¯ÊýÊÇglTranslate*ºÍglRotate*¡£
ÎÒÃÇ¿ÉÒÔËõ·ÅÎïÌ壬ʹÓõĺ¯ÊýÊÇglScale*¡£
ÎÒÃÇ¿ÉÒÔ¶¨Òå¿ÉÊӿռ䣬Õâ¸ö¿Õ¼ä¿ÉÒÔÊÇ¡°ÕýͶӰ¡±µÄ£¨Ê¹ÓÃglOrtho»ògluOrtho2D£©£¬Ò²¿ÉÒÔÊÇ¡°Í¸ÊÓͶӰ¡±µÄ£¨Ê¹ÓÃglFrustum»ògluPerspective£©¡£
ÎÒÃÇ¿ÉÒÔ¶¨Ò廿֯µ½´°¿ÚµÄ·¶Î§£¬Ê¹Óõĺ¯ÊýÊÇglViewport¡£
¾ØÕóÓÐ×Ô¼ºµÄ¡°¶ÑÕ»¡±£¬·½±ã½øÐб£´æºÍ»Ö¸´¡£ÕâÔÚ»æÖƸ´ÔÓͼÐÎʱºÜÓаïÖú¡£Ê¹Óõĺ¯ÊýÊÇglPushMatrixºÍglPopMatrix¡£

ºÃÁË£¬¼è¿àµÄÒ»¿ÎÖÕÓÚÍê±Ï¡£ÎÒÖªµÀ£¬±¾¿ÎµÄÄÚÈÝÊ®·Ö¿ÝÔ¾ÍÁ¬×îºóµÄÀý×ÓÒ²ÊÇ¡£µ«ÎÒҲûÓиüºÃµÄ°ì·¨ÁË£¬Ï£Íû´ó¼ÒÄܼá³Ö¹ýÈ¥¡£²»±Øµ£ÐÄ£¬ÊìϤ±¾¿ÎÄÚÈݺó£¬ÒÔºóµÄÒ»¶Îʱ¼äÄÚ£¬¶¼»áÊDZȽÏÇáËÉÓä¿ìµÄÁË¡£

=====================   µÚÎå¿Î Íê   =====================
=====================TO BE CONTINUED=====================

[·¢ÆÀÂÛ] ÆÀÂÛ ÖØÒªÌáʾ£º¾¯ÌèÐé¼ÙÖн±ÐÅÏ¢!
  • lowye 2008-05-01 20:25
    ´ó¸ç£¬ÄãµÄרÌâдµÄÕæºÃ£¬ºÜÒ×¶®¡£ÎÒ»¹ÓÐÊÂÇó½Ì£¬ÊǹØÓÚÈý¸öÇòÌåת¶¯µÄ£¬ºÜ¼±¹ØÓÚÎҵıÏÒµÉè¼Æ£¬ÇëÁªÏµÎÒºÃÂð£¿qq330757076
  • chinaunixÍøÓÑ 2007-08-28 21:21
    лл¥Ö÷
  • chinaunixÍøÓÑ 2007-07-30 23:13
    ºÜºÃÂ¥Ö÷ Ã÷°×Á˺ܶà
  • chinaunixÍøÓÑ 2007-06-05 21:24
    дµÄºÜ²»´í°¡... Ï£ÍûLZÄܹ»¼ÌÐø~~~
  • chinaunixÍøÓÑ 2007-04-05 16:32
    ÄãºÃ,ÎÒ×î½üÕýÔÚѧϰopengl. ¿´ÍêÄúµÄÎÄÕÂ,ÎÒÏÖÔÚÓиöÎÊÌâûÓнâ¾ö,ÓÃglutº¯Êý¿â,ÈçºÎÄÜÈÃ×ø±êÖµÄÜÏóglauxº¯Êý¿âÒ»Ñù»ù±¾µ¥Î»Îª1ÏóËØ,³õÊ¼×ø±êÔÚ×î×óÏÂ,¶ø²»ÊÇglut×î´óÖµÊÇ1.0,³õÊ¼×ø±êÔÚÆÁÄ»ÖмäÄØ? лл.
Ç×£¬Äú»¹Ã»ÓеǼ,Çë[µÇ¼]»ò[×¢²á]ºóÔÙ½øÐÐÆÀÂÛ