Contents:
- 1 ½Ç¼ö ¿¬»ê¿¡¼ ¿À·ù ¹ß»ý ½Ã۱â
- 2 float ÇüÀ» int ÇüÀ¸·Î ºü¸£°Ô º¯È¯Çϱâ
- 3 3D ·Î 2D ó¸®ÇÒ ¶§ ¿Ü°û¼± ó¸®
- 4 Direct3D ¿¡¼ Vertex Buffer Class ¸¸µé±â
- 5 ±×·¹ÀÌ ½ºÄÉÀÏ·Î º¯È¯Çϱâ
1 ½Ç¼ö ¿¬»ê¿¡¼ ¿À·ù ¹ß»ý ½Ã۱â #
Ȳ´çÇÑ ÁÖÁ¦Áö¸¸ ¿ÀÈ÷·Á ÀÌ·¯ÇÑ ¿À·ù¸¦ ¼û±èÀ¸·Î ÀÎÇØ ³ªÁß¿¡´Â °¨´çÇÒ ¼ö ¾ø´Â ¿À·ù°¡ ¹ß»ýÇÒ °¡´É¼ºÀÌ ³ô¾ÆÁö°Ô µÈ´Ù. ±×·¡¼ µð¹ö±ëÀ» ¿Ïº®È÷ ÇÒ ¼ö ÀÖµµ·Ï ÀϺη¯ ½Ç¼ö ¿¬»ê ¿À·ù°¡ ¹ß»ýÇϵµ·Ï ÇÏ´Â ¹æ¹ý¿¡ ´ëÇÏ¿© ¾Ë¾Æº¸°Ú´Ù.
½Ç¼ö ¿¬»ê ¿À·ù¶ó°í ÇÑ´Ù¸é ´ëÇ¥ÀûÀ¸·Î '
0 À¸·Î ³ª´°¼À Çϱâ' °¡ ÀÖ´Ù. ½Ç¼ö¿Í ´Þ¸® Á¤¼ö´Â '0 À¸·Î ³ª´°¼À Çϱâ' ¸¦ ÇÏ¸é ¿¡·¯¸¦ ¹ß»ýÇÏ¸é¼ ÇÁ·Î±×·¥ÀÌ Á¾·áÇÏÁö¸¸ ºÒÇàÈ÷

½Ç¼ö´Â ¾Æ¹« ÀÌ»ó¾øÀÌ ³Ñ¾î°£´Ù.
À̰ÍÀº CPU, ƯÈ÷ FPU (Floating Point Unit) °¡ À߸ø ¸¸µé¾îÁø °ÍÀÌ ¾Æ´Ï¶ó MS Windows ÀÇ ±³¸ðÇÑ ¼ÓÀÓ¼ö·Î ½Ç¼ö ¿¬»ê½Ã ¿À·ù¸¦ ¹«½ÃÇϵµ·Ï ¼³Á¤Çϰí ÀÖ´Ù. ¾Æ¸¶µµ ¼ö¸¹Àº Windows ÀÇ ¿¡·¯¸¦ °¨Ãß±â À§ÇÑ ¹æ¹ýÀÌ ¾Æ´Ò±î ÃßÃøÇØ º¼ ¼ö ÀÖ´Ù.
ÀÌ·¸°Ô ½Ç¼ö ¿¬»ê ¿À·ù¸¦ ¹«½ÃÇϵµ·Ï °¡´ÉÇÑ °ÍÀº FPU ÀÇ ¼³Á¤À» º¯°æ °¡´ÉÇϱ⠶§¹®ÀÌ´Ù.
±×·³ ¾î¶»°Ô ½Ç¼ö ¿¬»ê ¿À·ù¸¦ ¹ß»ý °¡´ÉÇϵµ·Ï ÇÒ °ÍÀΰ¡?
_control87() ¿Í
_controlfp() ÇÔ¼ö·Î FPU ¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ¿©·¯°¡Áö ¿É¼Ç°ú °ü·Ã ÇÔ¼öµµ ÀÖÁö¸¸ ´Ù ¼Ò°³ÇÒ ¼ö´Â ¾ø°í MSDN (
Âü°í> Vsual C++ Library Reference
_control87, _controlfp ) À» Âü°íÇÏ¿© »ç¿ëÇÏ¸é µÈ´Ù.
±âº»ÀûÀ¸·Î ¼³Á¤ÇØÁ¦ÇÒ °ªÀ¸·Î _EM_INVALID, _EM_ZERODIVIDE °¡ ÀÖ´Ù.
1 #include <float.h> // _control87(), _controlfp() ¸¦ »ç¿ëÇϱâ À§ÇÑ Çì´õ ÆÄÀÏ
2 ...
3 _control87( ~ _EM_ZERODIVIDE, _MCW_EM ); // Divide by Zero ÇØÁ¦ (¿¡·¯ ¹ß»ý ¼³Á¤)
4 ...
5 _control87( _EM_ZERODIVIDE, _MCW_EM ); // Divide by Zero ¼³Á¤ (¿¡·¯ ¹«½Ã ¼³Á¤)
6 ...
7 _control87( ~ _CW_DEFAULT, 0xFFFFF ); // Windows ÀÇ ½Ç¼ö ¿¬»ê ¿¡·¯ ±âº»°ª ÇØÁ¦
8 ...
9 _control87( _CW_DEFAULT, 0xFFFFF ); // Windows ÀÇ ½Ç¼ö ¿¬»ê ¿¡·¯ ±âº»°ª ¼³Á¤
À§ÀÇ ÀÌ·¯ÇÑ ¼³Á¤Àº ÇÁ·Î±×·¥¿¡ Àü¹Ý¿¡ °ÉÃÄ »ç¿ëÇÏ¸é ¿¡·¯º¸´Ù ´õ ¸¹Àº ¹®Á¦°¡ ¹ß»ýÇÒ °¡´É¼ºÀÌ ÀÖÀ¸¹Ç·Î ÇÊ¿ä ºÎºÐ¿¡¼ ÇØÁ¦ÇÏ°í ´Ù½Ã ¿ø»óÅ·Πº¹±¸ÇÏ´Â ¹æ¹ýÀÌ ´õ ÁÁÀ» °Í °°´Ù.
2 float ÇüÀ» int ÇüÀ¸·Î ºü¸£°Ô º¯È¯Çϱâ #
ÀϹÝÀûÀ¸·Î Çüº¯È¯(Type Casting) À» ÀÌ¿ëÇÏ¿© float ÇüÀ» int ÇüÀ¸·Î º¯È¯ÇÑ´Ù. ÇÏÁö¸¸ º¯È¯ °úÁ¤¿¡¼ ³»ºÎÀûÀ¸·Î ¸¹Àº ½Ã°£À» ¼Ò¸ðÇÑ´Ù. ±×·¡¼ Quake I ¿¡¼ »ç¿ëÇÏ¿´´ø °£´ÜÇÑ Tip À» ¼Ò°³ÇÑ´Ù.
1 inline int MY_ftol( float f )
2 {
3 int rvalue;
4
5 _asm {
6 fld f
7 fistp rvalue
8 }
9
10 return rvalue;
11 }
Âü°í> 
À§ ÇÔ¼ö´Â
Release ¸ðµå¿¡¼ ½ÇÇàÇØ¾ß Á¦´ë·Î µÈ °á°ú°¡ ³ª¿Â´Ù.
Debug ¸ðµå¿¡¼´Â ¿ÀÈ÷·Á ´õ ´À¸° °á°ú°¡ ³ª¿Ã ¼ö ÀÖÀ¸¹Ç·Î Âø°¢ÇÏÁö ¾Ê±â¸¦...
3 3D ·Î 2D ó¸®ÇÒ ¶§ ¿Ü°û¼± ó¸® #
3D ¿¡¼ Á÷±³ Åõ¿µÀ̳ª RHW ÁÂÇ¥¸¦ ÀÌ¿ëÇÏ¿© 2D 󸮽à ¿Ü°û¼± Çȼ¿ÀÌ È帴ÇÏ°Ô ³ª¿Â´Ù. º¸ÅëÀÇ °æ¿ì ÅØ½ºÃÄ ÇÊÅͳª ·»´õ¸µ ¿É¼ÇÀ» ¹Ù²ãµµ ÇØ°áÇÒ ¼ö°¡ ¾ø´Ù. ±×·¯³ª À̰ÍÀ» ÇØ°áÇÏ´Â ¹æ¹ýÀº ÀǿܷΠ°£´ÜÇÏ´Ù. Ãâ·ÂÇÒ·Á°í ÇÏ´Â Æú¸®°ïÀÇ °¡·Î, ¼¼·Î Å©±â¸¦ 2ÀÇ ½Â¼ö·Î ó¸®ÇÏ¸é Æ¯º°ÇÑ Ã³¸® ¾øÀÌ ¿Ü°û¼±ÀÌ ¶Ç·ÇÇÏ°Ô ³ª¿Â´Ù.
4 Direct3D ¿¡¼ Vertex Buffer Class ¸¸µé±â #
5 ±×·¹ÀÌ ½ºÄÉÀÏ·Î º¯È¯Çϱâ #
±×·¹ÀÌ ½ºÄÉÀÏÀº 3D ¿Í´Â °Å¸®°¡ Á» ¸Õ ³»¿ëÀÌÁö¸¸ °£È¤ ÇÊ¿äÇÑ °æ¿ì°¡ ÀÖ¾î¼ Á¤¸®ÇØ º»´Ù.
Grayscale = Red * 0.299 + Green * 0.587 + Blue * 0.114
SubCategoryGame