°³¶ËÀ̳׿¡¼ ÆÇ¸ÅµÈ "OpenGL Superbible" Á¤°¡ 48,000¿ø Æò±ÕÇÒÀΰ¡
|
|
|
1ºÎ. OpenGL ±âÃÊ
CHAPTER 1 ¼Ò°³ 1.1 OpenGL°ú ±×·¡ÇȽº ÆÄÀÌÇÁ¶óÀÎ 1.2 OpenGLÀÇ ±â¿ø°ú ÁøÈ 1.3 ÇÁ¸®¹ÌƼºê, ÆÄÀÌÇÁ¶óÀÎ, Çȼ¿ 1.4 ¸¶Ä¡¸ç
CHAPTER 2 ³ªÀÇ Ã¹ ¹ø° OpenGL ÇÁ·Î±×·¥ 2.1 °£´ÜÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç ÀÛ¼ºÇϱâ 2.2 ½¦ÀÌ´õ »ç¿ëÇϱâ 2.3 óÀ½ ±×¸®´Â »ï°¢Çü 2.4 ¸¶Ä¡¸ç
CHAPTER 3 ÆÄÀÌÇÁ¶óÀÎ µû¶ó°¡±â 3.1 ¹öÅؽº ½¦ÀÌ´õ¿¡ µ¥ÀÌÅÍ Àü´ÞÇϱâ 3.2 ½ºÅ×ÀÌÁö °£ µ¥ÀÌÅÍ Àü´Þ 3.3 Å×¼¿·¹ÀÌ¼Ç 3.4 Áö¿À¸ÞÆ®¸® ½¦ÀÌ´õ 3.5 ÇÁ¸®¹ÌƼºê ¾î¼Àºí¸®, Ŭ¸®ÇÎ, ·¡½ºÅͶóÀÌÁ¦ÀÌ¼Ç 3.6 ÇÁ·¡±×¸ÕÆ® ½¦ÀÌ´õ 3.7 ÇÁ·¹ÀÓ¹öÆÛ µ¿ÀÛ 3.8 ÄÄǻƮ ½¦ÀÌ´õ 3.9 ¸¶Ä¡¸ç
CHAPTER 4 3D ±×·¡ÇȽº¸¦ À§ÇÑ ¼öÇÐ 4.1 ÀÌ ÀåÀÌ ¹Ù·Î ±× ¹«½Ã¹«½ÃÇÑ ¼öÇÐ ÀåÀΰ¡? 4.2 3D ±×·¡ÇȽº ¼öÇÐ ¼Ó¼º °úÁ¤ 4.3 º¯È¯ ÀÌÇØÇϱâ 4.4 ¼±, °î¼±, ½ºÇöóÀÎ º¸°£Çϱâ 4.5 ¸¶Ä¡¸ç
CHAPTER 5 µ¥ÀÌÅÍ 5.1 ¹öÆÛ 5.2 À¯´ÏÆû 5.3 ½¦ÀÌ´õ ½ºÅ丮Áö ºí·Ï 5.4 ¾îÅä¹Í Ä«¿îÅÍ 5.5 ÅؽºÃ³ 5.6 ¸¶Ä¡¸ç
CHAPTER 6 ½¦ÀÌ´õ¿Í ÇÁ·Î±×·¥ 6.1 ¾ð¾î °³¿ä 6.2 ÇÁ·Î±×·¥ ÄÄÆÄÀÏ, ¸µÅ·, Å×½ºÆ®Çϱâ 6.3 ¸¶Ä¡¸ç
2ºÎ. OpenGL ½ÉÈ
CHAPTER 7 ¹öÅؽº ÇÁ·Î¼¼½Ì ¹× µå·ÎÀ× Ä¿¸Çµå 7.1 ¹öÅؽº ÇÁ·Î¼¼½Ì 7.2 µå·ÎÀ× Ä¿¸Çµå 7.3 º¯È¯µÈ ¹öÅؽº ÀúÀåÇϱâ 7.4 Ŭ¸®ÇÎ 7.5 ¸¶Ä¡¸ç
CHAPTER 8 ÇÁ¸®¹ÌƼºê ÇÁ·Î¼¼½Ì 8.1 Å×¼¿·¹ÀÌ¼Ç 8.2 Áö¿À¸ÞÆ®¸® ½¦ÀÌ´õ 8.3 ¸¶Ä¡¸ç
CHAPTER 9 ÇÁ·¡±×¸ÕÆ® ÇÁ·Î¼¼½Ì ¹× ÇÁ·¹ÀÓ¹öÆÛ 9.1 ÇÁ·¡±×¸ÕÆ® ½¦ÀÌ´õ 9.2 ÇÁ·¡±×¸ÕÆ®º° Å×½ºÆ® 9.3 »ö»ó Ãâ·Â 9.4 ¿ÀÇÁ½ºÅ©¸° ·»´õ¸µ 9.5 ¾ÈƼ¿¡Àϸ®¾î½Ì 9.6 °í±Þ ÇÁ·¹ÀÓ¹öÆÛ Æ÷¸Ë 9.7 Æ÷ÀÎÆ® ½ºÇÁ¶óÀÌÆ® 9.8 À̹ÌÁö¿¡¼ ¾ò¾î¿À±â 9.9 ¸¶Ä¡¸ç
CHAPTER 10 ÄÄǻƮ ½¦ÀÌ´õ 10.1 ÄÄǻƮ ½¦ÀÌ´õ »ç¿ëÇϱâ 10.2 ¿¹Á¦ 10.3 ¸¶Ä¡¸ç
CHAPTER 11 ÆÄÀÌÇÁ¶óÀÎ Á¦¾î ¹× ¸ð´ÏÅ͸µ 11.1 ÁúÀÇ 11.2 OpenGL µ¿±âÈÇϱâ 11.3 ¸¶Ä¡¸ç 3ºÎ. OpenGL ½ÇÀü CHAPTER 12 ·»´õ¸µ Å×Å©´Ð 12.1 ¶óÀÌÆà ¸ðµ¨ 12.2 ºñ½Ç»ç ·»´õ¸µ 12.3 ´Ù¸¥ ·»´õ¸µ ¹æ½Ä 12.4 ¸¶Ä¡¸ç CHAPTER 13 µð¹ö±ë ¹× ¼º´É ÃÖÀûÈ 13.1 ¾ÖÇø®ÄÉÀÌ¼Ç µð¹ö±ë 13.2 ¼º´É ÃÖÀûÈ 13.3 ¸¶Ä¡¸ç CHAPTER 14 Ç÷§Æû ¼¼ºÎ»çÇ× 14.1 OpenGL¿¡¼ È®Àå ±â´É »ç¿ëÇϱâ 14.2 Windows ȯ°æ¿¡¼ÀÇ OpenGL 14.3 Mac OSX ¿¡¼ÀÇ OpenGL 14.4 Linux¿¡¼ÀÇ OpenGL 14.5 ¸ð¹ÙÀÏ Ç÷§Æû¿¡¼ OpenGL 14.6 ¸¶Ä¡¸ç ºÎ·Ï A Âü°í¹®Çå B SBM ÆÄÀÏ Æ÷¸Ë C ½´ÆÛ¹ÙÀ̺í Åø D ¿ë¾î Á¤¸®
[»õ·Î¿öÁø ³»¿ë] À̹ø ÆÇÀº ÀÌ Ã¥ÀÇ 6¹ø° °³Á¤ÆÇÀÌ´Ù. 1ÆÇÀº 1996³âµµ¿¡ Ãâ°£µÇ¾ú´Âµ¥, ¹«·Á 15³â ÀüÀÌ´Ù. ½Ã°£ÀÌ È帧¿¡ µû¶ó OpenGLÀº Á¡Á¡ ´õ ÁøÈÇØ¿ÔÀ¸¸ç, Ã¥ÀÇ µ¶ÀÚµµ ±×·¯Çß´Ù. 2010³âµµ¿¡ Ãâ°£µÈ 5ÆÇ¿¡¼µµ ¸¹Àº º¯È°¡ ÀÖ¾ú´Ù. OpenGLÀº Á¡Á¡ ´õ º¹ÀâÇØÁ³À¸¸ç, ¸¹Àº ´Ù¾çÇÑ ±â´ÉÀÌ Ãß°¡µÇ¾ú°í, ȸ鿡 ¹«¾ð°¡¸¦ Ãâ·ÂÇϱâ À§ÇØ »ç¿ëÀÚ°¡ ÇØ¾ß ÇÒ ÀÏÀÌ ¸¹¾ÆÁ³´Ù. ÀÌ·¯ÇÑ Á¡ÀÌ »õ·Î ½ÃÀÛÇÏ´Â Çлý¿¡°Ô À庮ÀÌ µÇ¾úÀ¸¸ç, 5ÆÇÀº ±× À庮À» ³·Ãß±â À§ÇØ ÀÚ¼¼ÇÑ ºÎºÐÀ» ´ë°Å »ý·«ÇÏ°í, ´ë½Å À¯Æ¿¸®Æ¼ Ŭ·¡½º, ÇÔ¼ö, ·¦ÆÛ, ¶óÀ̺귯¸®¸¦ Á¦°øÇß´Ù.
À̹ø °³Á¤6ÆÇ¿¡¼´Â µ¶ÀÚ¿¡°Ô ¾Æ¹«°Íµµ °¨ÃßÁö ¾ÊÀ» °ÍÀÌ´Ù. À̴ ȸ鿡 ±×·²µíÇÑ °ÍÀ» ±×¸®±â À§ÇØ ½Ã°£À» ²Ï ¼ÒºñÇØ¾ß Çϸç, OpenGLÀÇ ³»ºÎ ¹× ±× ÇϺÎÀÇ ±×·¡ÇȽº Çϵå¿þ¾î¿ÍÀÇ »óÈ£ ÀÛ¿ë¿¡ ´ëÇØ ÀÌÇØÇϱâ À§ÇØ Ãß°¡ÀûÀÎ ³ë·ÂÀÌ ÇÊ¿äÇÏ´Ù. °¡Àå ±âº»ÀûÀÎ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÇÁ·¹ÀÓ¿öÅ©¸¸ Á¦°øÇÒ °ÍÀ̸ç, óÀ½ ¸î °³ÀÇ ÇÁ·Î±×·¥Àº ÀüÇô °¨µ¿ÀûÀÌÁö ¾ÊÀ» °ÍÀÌ´Ù. ÇÏÁö¸¸ Ã¥À» ³¡±îÁö ÀÐ°í ³ª¸é Ä£±¸³ª µ¿·á, ³ª¾Æ°¡¼ ¹Ì·¡ÀÇ È¸»ç¿¡ ÀڽŠÀÖ°Ô ¹«¾ð°¡¸¦ º¸¿©ÁÙ ¼ö ÀÖ°Ô µÉ °ÍÀÌ´Ù.
°³Á¤6ÆÇ¿¡¼´Â OpenGL ·¹ÆÛ·±½º ¶Ç´Â man ÆäÀÌÁöÀÇ ³»¿ëÀ» »°´Ù. ·¹ÆÛ·±½º ÆäÀÌÁö´Â ¶óÀÎ(http://www.opengl.org/sdk/docs/man4/)¿¡¼ È®ÀÎÇÒ ¼ö ÀÖÀ¸¸ç, ¿Â¶óÀÎ ÆäÀÌÁö´Â Ç×»ó ÃÖ½ÅÀÌ´Ù. ÀÌ ³»¿ëµéÀ» ÇÁ¸°Æ®ÇÏ´Â °ÍÀº ´Ù¼Ò ºÒÇÊ¿äÇÑ °ÍÀ̸ç, ¿¡·¯ÀÇ ¼ÒÁöµµ ÀÖ´Ù. ½ÇÁ¦·Î 5ÆÇÀ» ÀμâÇÑ µÚ ·¹ÆÛ·±½º ÆäÀÌÁö¿¡ ¸î¸î ¹®Á¦Á¡ÀÌ ¹ß°ßµÇ¾úÀ¸³ª ÀÌ¹Ì ÇÁ¸°Æ®Ç߱⠶§¹®¿¡ ¼öÁ¤ ÆäÀÌÁö¸¦ ¹èÆ÷ÇÒ ¹æ¹ýÀÌ ¾ø¾ú´Ù. °Ô´Ù°¡ ·¹ÆÛ·±½º´Â ¼ö¹é ÆäÀÌÁö ºÐ·®ÀÌ µÇ±â ¶§¹®¿¡ ºñ¿ëµµ ´õ µé°í ºÎÇǵµ Ä¿Áø´Ù. ±×·¡¼ ·¹ÆÛ·±½º ´ë½Å ´õ ¸¹Àº ³»¿ëÀ» ä¿ì°í ³ª¸ÓÁö ºÎºÐ¿¡ ´ëÇؼ´Â ȯ°æÀ» À§ÇØ ³ª¹« ¼Òºñ¸¦ ÁÙÀÌ´Â ¹æ¹ýÀ» ÅÃÇß´Ù.
Ã¥ÀÇ ±¸Á¶µµ ¾à°£ º¯°æÇÏ¿© OpenGLÀ» ¿©·¯ ¹ø ¹Ýº¹ÇÏ¿© ´Ù·é´Ù. ÇÑ ÀåÀ» ÇÑ °¡Áö ÁÖÁ¦¿¡ ¸ðµÎ ÇÒ´çÇÏ´Â ´ë½Å, ÀÛµ¿ÇÏ´Â ÀÛÀº ¿¹Á¦¸¦ ÅëÇØ °¡´ÉÇÑ ÇÑ »¡¸® ±×¸®°í ¸¹ÀÌ OpenGLÀ» ¼Ò°³ÇÏ°í, ±× ´ÙÀ½¿£ ¿©·¯ ¿µ¿ªÀ» ¾Æ¿ì¸£´Â ±â´ÉÀ» ¼³¸íÇÑ´Ù. ÀÌ ¹æ½ÄÀ» »ç¿ëÇÏ¿© ¼±ÂüÁ¶³ª ¼øȯÂüÁ¶ÀÇ È½¼ö¸¦ ÁÙÀÌ°í '°ÆÁ¤ÇÏÁö ¸¶¶ó. ³ªÁß¿¡ ¼³¸íÇÏ°Ú´Ù'¶ó°í ¸»Çϴ Ƚ¼ö¸¦ ÁÙÀÏ °ÍÀÌ´Ù.
[´Ù·ç´Â ³»¿ë] - ½Ç½Ã°£ 3D ±×·¡ÇȽºÀÇ ±âº»¿¡ ´ëÇÑ ½Ç¿ëÀûÀÎ ¼Ò°³ - ·»´õ¸µ, º¯È¯, ÅؽºÃĸµ¿¡ °üÇÑ ÄÚ¾î OpenGL 4.3 ±â¹ý - 3D ±×·¡ÇȽº ¹× OpenGLÀ» À§ÇÑ ±âº» ¼öÇÐ - ¿¹Á¦·Î Á÷Á¢ ÀÛ¼ºÇغ¸´Â ½¦ÀÌ´õ - ¸®´ª½º, OS X, À©µµ¿ì¸¦ À§ÇÑ Ç÷§Æû ÀÇÁ¸ÀûÀÎ API ÃʱâÈ ³»¿ëÀ» Æ÷ÇÔÇÏ´Â ´ÙÁß Ç÷§Æû OpenGL - ¹öÅؽº ó¸®, µå·ÎÀ× Ä¿¸Çµå, ÇÁ¸®¹ÌƼºê ó¸®, ÇÁ·¡±×¸ÕÆ®, ÇÁ·¹ÀÓ ¹öÆÛ - ÄÄǻƮ ½¦ÀÌ´õ¸¦ »ç¿ëÇÏ¿© ÃֽŠ±×·¡ÇȽº Ä«µå¸¦ ±×·¡ÇÈ ¿ÜÀÇ ÀÛ¾÷¿¡µµ ÃÖ´ëÇÑ È°¿ëÇϱâ - OpenGL ±×·¡ÇȽº ÆÄÀÌÇÁ¶óÀÎÀ» ¸ð´ÏÅ͸µÇÏ°í Á¦¾îÇϱâ - °í±Þ ·»´õ¸µ ±â¹ý : ¶óÀÌÆ® ½Ã¹Ä·¹À̼Ç, ¿¹¼úÀûÀÎ ºñ½Ç»ç ·»´õ¸µ, Áö¿¬ ½¦À̵ù - ÃֽŠOpenGL µð¹ö±ë ¹× ¼º´É ÃÖÀûÈ
[´ë»óµ¶ÀÚ] ÀÌ Ã¥Àº OpenGL·Î ÄÄÇ»ÅÍ ±×·¡ÇȽº¸¦ ¹è¿ì·Á´Â »ç¶÷ ±×¸®°í ÀÌ¹Ì ±×·¡ÇȽº´Â ¾ËÁö¸¸ OpenGLÀ» ¹è¿ì·Á´Â »ç¶÷ ¸ðµÎ¸¦ À§ÇÑ Ã¥ÀÌ´Ù. ÄÄÇ»ÅÍ °øÇÐ, ÄÄÇ»ÅÍ ±×·¡ÇȽº, °ÔÀÓ µðÀÚÀÎ µîÀ» Àü°øÇÏ´Â Çлý, ½Ç¹« ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ, Ãë¹Ì·Î ¹è¿ì·Á´Â »ç¶÷, ¶Ç´Â ´ÜÁö »õ·Î¿î °ÍÀ» ¹è¿ì±æ ÁÁ¾ÆÇÏ´Â »ç¶÷À» À§ÇÑ Ã¥ÀÌ´Ù. ÀÌ Ã¥Àº µ¶ÀÚ°¡ ÄÄÇ»ÅÍ ±×·¡ÇȽº³ª OpenGL¿¡ ´ëÇØ ÀüÇô ¸ð¸¥´Ù´Â °ÍÀ» ÀüÁ¦·Î ÇÏ¿´´Ù. ÇÏÁö¸¸ C++¸¦ È°¿ëÇÑ ÄÄÇ»ÅÍ ÇÁ·Î±×·¡¹Ö¿¡´Â Àͼ÷ÇØ¾ß ÇÒ °ÍÀÌ´Ù. ÀÌ Ã¥ÀÇ ¸ñÇ¥ Áß Çϳª´Â »çÀüÁö½ÄÀÌ ÀüÇô ÇÊ¿ä ¾ø°Å³ª ¶Ç´Â ÃÖ¼ÒÇÑÀÇ »çÀüÁö½Ä¸¸À¸·Îµµ ÃæºÐÈ÷ °øºÎÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â °ÍÀÌ´Ù.
[ÀÌ Ã¥ÀÇ ±¸¼º] ÀÌ Ã¥Àº ´ÙÀ½°ú °°ÀÌ ÃÑ 3ºÎ·Î ±¸¼ºµÇ¾î ÀÖ´Ù.
1ºÎ OpenGL ±âÃÊ OpenGLÀÌ ¹«¾ùÀÎÁö, ±×¸®°í ¾î¶»°Ô ±×·¡ÇÈ ÆÄÀÌÇÁ¶óÀο¡ ¿¬°áÇÏ´ÂÁö¿¡ ´ëÇØ ¼³¸íÇÏ°í, Àüü ½Ã½ºÅÛÀÇ ´Ù¸¥ ÆÄÆ®¿¡ ´ëÇÑ Áö½Ä ¾øÀ̵µ °¢ ¼½¼Ç¿¡ ´ëÇØ ÃæºÐÈ÷ ÀÌÇØÇÒ ¼ö ÀÖÀ» ¸¸ÇÑ ÃÖ¼ÒÇÑÀÇ ¿¹Á¦¸¦ Á¦°øÇÑ´Ù. 3D ÄÄÇ»ÅÍ ±×·¡ÇȽºÀÇ ±âÃʸ¦ ¼³¸íÇÏ°í, ¾ÖÇø®ÄÉÀÌ¼Ç »ç¿ëÀڵ鿡°Ô ¸ÚÁø °æÇèÀ» Á¦°øÇϱâ À§ÇØ OpenGLÀÌ ¾î¶»°Ô ´ë·®ÀÇ µ¥ÀÌÅ͸¦ ó¸®ÇÏ´ÂÁö ¼³¸íÇÑ´Ù. ¶ÇÇÑ OpenGL ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÇٽɺκÐÀÎ ½¦ÀÌ´õ ÇÁ·Î±×·¡¹Ö ¸ðµ¨µµ ¼³¸íÇÒ °ÍÀÌ´Ù.
2ºÎ OpenGL ½ÉÈ ±×·¡ÇȽº ÆÄÀÌÇÁ¶óÀÎÀÇ ¿©·¯ ÆÄÆ®¿¡ °ÉÄ¡´Â ÇÊ¿äÇÑ Áö½ÄÀ» ¸ÕÀú ¾Ë·ÁÁÖ°í ÀÌ¹Ì ¼Ò°³µÈ °³³ä°ú °ü·Ã ÀÖ´Â OpenGLÀÇ ±â´ÉµéÀ» ¼Ò°³ÇÑ´Ù. ÀÌ·¯ÇÑ ¹æ¹ýÀ» ÅëÇØ º¹ÀâÇÑ ÁÖÁ¦¸¦ ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖ°í ´õ ÀÚ¼¼ÇÑ ³»¿ëÀ» À§Çؼ´Â Ã¥ÀÇ µÞºÎºÐÀ» ÂüÁ¶ÇÏ¸é µÈ´Ù. OpenGL ½Ã½ºÅÛÀ» ´Ù½Ã ¼³¸íÇÏ´Â °ÍÀ̱⠶§¹®¿¡ OpenGLÀÇ °¢ ÆÄÆ®¸¦ ¶°³ µ¥ÀÌÅÍ°¡ ¾îµð(¾Õ¼ ¼³¸íÇÑ ³»¿ëÀ» ¹ÙÅÁÀ¸·Î ¾î¶² ÆÄÆ®ÀÎÁö °³·«ÀûÀ¸·Î ¾Ë ¼ö ÀÖ´Ù)·Î À̵¿ÇÏ´ÂÁö ÆľÇÇÒ ¼ö ÀÖ´Ù.
3ºÎ OpenGL ½ÇÀü ±×·¡ÇȽº ÆÄÀÌÇÁ¶óÀÎÀ» ±íÀÌ ´Ù·ç¸é¼ Á» ´õ °í±Þ ÁÖÁ¦¸¦ ´Ù·ç°í OpenGLÀÇ ¿©·¯ ±â´ÉÀ» »ç¿ëÇÏ´Â ¸¹Àº ¿¹Á¦¸¦ ´Ù·ê °ÍÀÌ´Ù. ¸¹Àº ¿¹Á¦¸¦ ÅëÇØ ¿©·¯ °¡Áö ´Ù¾çÇÑ ·»´õ¸µ Å×Å©´ÐÀ» Á¦°øÇÏ°í, OpenGL¿¡ °üÇÑ Á¦¾È ¹× ±Ç°í»çÇ×À» ¼³¸íÇÏ°í, ¼º´É °ü·Ã »çÇ×À» ¾ð±ÞÇÏ°í, ¸ð¹ÙÀÏ ÀåÄ¡¸¦ Æ÷ÇÔÇÑ ¿©·¯ °¡Áö ÁÖ¿ä °³¹ß Ç÷§Æû¿¡¼ OpenGLÀ» »ç¿ëÇÏ´Â ½Ç¹« ¹æ¹ý¿¡ ´ëÇØ ¼Ò°³ÇÒ °ÍÀÌ´Ù.
|
|
|
|
|