 |
GpgStudy Game Programming Gems Åä·Ð
|
 |
| ÀÌÀü ÁÖÁ¦ º¸±â :: ´ÙÀ½ ÁÖÁ¦ º¸±â |
| ±Û¾´ÀÌ |
¸Þ½ÃÁö |
ºñȸ¿ø ¼Õ´Ô
|
** D3DÀÌ¿ë 2DÃâ·Â½Ã ¸¶¹ýÀÇ ¼ýÀÚ -0.5 ¿¡ ´ëÇÏ¿© ** Á˼ÛÇÕ´Ï´Ù |
¿Ã·ÁÁü: 2007-07-19 21:35
|
|
Ãâó:°¨ÀÚ´å³Ý
http://www.gamza.ne...p;page=0&depth=1
¼³¸íÀÌ ¸Å¿ì Ä£ÀýÇÏ°Ô µÇ¾îÀִµ¥ ¾ÆÁ÷µµ ÀÌÇØ°¡ ¾È°©´Ï´Ù. ¹¹ ÀÌÇØ°¡ ¾È°¡µµ ¸¸µé¾î¾ß Çϴ°ÍÀº º¯ÇÔ ¾ø±â¿¡, ±×³É °á°ú¸¸ º¸°í ³Ñ¾î°¥·Á°í Çß½À´Ï´Ù. °á°ú¿¡ 0.5¸¦ Àû¿ëÇØ º¸¾Ò´Âµ¥¿ä ¿©ÀüÈ÷ ij¸¯ÅÍ À̵¿½Ã¿¡ ±ô¹Ú°Å¸²°ú ¶³¸²Çö»óÀÌ ¹ß»ýÇÕ´Ï´Ù. ±×·±µ¥ ¸Ç ¸¶Áö¸· 7¹ø ¼³¸íÀä. 3¹øÂ° ÁÙ
[½Ç¼öÁÂÇ¥¸¦ °¡Á³´Ù ÇÏ´õ¶óµµ ¹Ýµå½Ã Á¤¼ö·Î º¯È¯ÇÑ´ÙÀ½ 0.5¸¦ »©ÁÖ¾î¾ß ÇÕ´Ï´Ù]ºÎºÐÀ» ¹ØÀÇ 3¹øÃ³·³ Çß½À´Ï´Ù.
Á¦°¡ °á°ú¸¸ ÀÌÇØÇÑ°Ô ´ÙÀ½ 3°³°¡ ¸Â´ÂÁö Á» ¾Ë·ÁÁÖ¼¼¿ä.
1. ¹öÅØ½º ÁÂÇ¥¿¡ ¿É¼Â °É±â
//Left Top
m_Vertices[j].sCV[0].position = D3DXVECTOR3( (float)(fLeft+ fCenter_X)-0.5f, (float)(fTop +fCenter_Y)-0.5f, 0.0f );
//Left Bottom
m_Vertices[j].sCV[1].position = D3DXVECTOR3( (float)(fLeft + fCenter_X)-0.5f, (float)((fTop + fHeight) + fCenter_Y)-0.5f, 0.0f );
//Right Top
m_Vertices[j].sCV[2].position = D3DXVECTOR3( (float)(fLeft + fWidth+ fCenter_X)-0.5f, (float)(fTop + fCenter_Y)-0.5f, 0.0f );
//Right Bottom
m_Vertices[j].sCV[3].position = D3DXVECTOR3( (float)(fLeft + fWidth + fCenter_X)-0.5f, (float)((fTop + fHeight) + fCenter_Y)-0.5f, 0.0f );
2. Åõ¿µÇà·Ä¿¡ ¿É¼Â °É±â
D3DXMATRIXA16 matProj;
D3DXMatrixTranslation( &matOffset, -0.5f, -0.5f, 0.0f);
D3DXMatrixOrthoLH( &matProj, 800.0f, 600.0f, 0.0f, 1.0f);
matResult = matOffset * matProj;
m_pd3dDevice->SetTransform( D3DTS_PROJECTION, &matResult );
3. ¹«Á¶°Ç Á¤¼öÁÂÇ¥·Î Ãâ·Â.
D3DXVECTOR2 d3dv2((float)((int)m_vPosition.x), (float)((int)m_vPosition.y));
--------------------------------------------------------------------------------------------------------------------
±Û ´ÙÀÛ¼ºÇϰí gpgÃâÆÇ»ç À̸§ ¾Ë¾Æ³»´Âµ¥ 3ºÐ °É·È½À´Ï´Ù. |
|
| À§·Î |
|
 |
seeper
°¡ÀÔ: 2003³â 6¿ù 6ÀÏ ¿Ã¸° ±Û: 1483
|
Re: ** D3DÀÌ¿ë 2DÃâ·Â½Ã ¸¶¹ýÀÇ ¼ýÀÚ -0.5 ¿¡ ´ëÇÏ¿© ** Á˼ÛÇÕ |
¿Ã·ÁÁü: 2007-07-20 09:06
|
|
| ºñȸ¿ø ¾¸: |
| ±×³É °á°ú¸¸ º¸°í ³Ñ¾î°¥·Á°í Çß½À´Ï´Ù. °á°ú¿¡ 0.5¸¦ Àû¿ëÇØ º¸¾Ò´Âµ¥¿ä ¿©ÀüÈ÷ ij¸¯ÅÍ À̵¿½Ã¿¡ ±ô¹Ú°Å¸²°ú ¶³¸²Çö»óÀÌ ¹ß»ýÇÕ´Ï´Ù. |
0.5´Â ¹Ì¼¼ÇÑ Âî±×·¯Áö´Â Çö»óÀ» ¸·´Â ¹æ¹ýÀÔ´Ï´Ù.
Âî±×·¯Áö´Â Çö»ó°ú ¶³¸²Çö»óÀº ÀüÇô ´Ù¸¥ ¹®Á¦ÀÔ´Ï´Ù.
½ÇÁ¦ ·»´õ¸µµÇ´Â »ï°¢ÇüÀÇ ÁÂÇ¥¸¦ Âï¾îº¸¼¼¿ä.
µéÂß³¯ÂßÇÒ°Ì´Ï´Ù. _________________ seeper0 (a) gmail.com [emailÁÖ¼Ò ¹«´Ü¼öÁý°ÅºÎ]
seeper °¡ 2007-07-22 16:01¿¡ ¼öÁ¤ÇÔ, ÃÑ 1 ¹ø ¼öÁ¤µÊ |
|
| À§·Î |
|
 |
medrian5
°¡ÀÔ: 2006³â 4¿ù 24ÀÏ ¿Ã¸° ±Û: 49 ¼Ò¼Ó: kgca10±â
|
.. |
¿Ã·ÁÁü: 2007-07-21 20:30
|
|
Tx = (u x Mx) - 0.5
Ty = (v x My) - 0.5
À§´Â dx ³»ºÎ¿¡¼ uv ÁÂÇ¥(ºÎµ¿¼Ò¼öÁ¡)¸¦ È¸é °ø°£ ÁÂÇ¥(Á¤¼ö)°ªÀ¸·Î º¯È¯ÇÏ´Â °ø½ÄÀÔ´Ï´Ù.
Mx = ÅØ½ºÃ³ Æø
My = ÅØ½ºÃ³ ³ôÀÌ
u, v ÅØ½ºÃ³ ÁÂÇ¥
¸¸¾à texture size 4
À§Ä¡ ÁÂÇ¥·Î
(0,0) (4,0)
(4,0) (4,4)
°¡ ÁÖ¾îÁ³À»¶§ (ÀÌÇØÇϱ⠽±°Ô ÅØ½ºÃ³¿Í Á¤Á¡ À§Ä¡¸¦ ¸ðµÎ 4·Î ÅëÀÏ ½ÃÄ×½À´Ï´Ù.)
u = 0~ 1;
v = 0~ 1;
·Î º¯ÇÏ´Â °ø°£À̶ó°í »ý°¢ÇÕ´Ï´Ù.
À̶§ uvÀÇ ¾ç³¡°ªÀ» »Ì¾Æ³»¸é
-0.5 = 0 * 4 - 0.5
3.5 = 1 * 4 - 0.5
/*ÀÌ ±×¸²Àº ÅØ¼¿ ÁÂÇ¥ÀÔ´Ï´Ù.*/
(-0.5, -0.5) (3.5, -0.5)
¦£¦¡¦¨¦¡¦¨¦¡¦¤
¦§¦¡¦«¦¡¦«¦¡¦©
¦§¦¡¦«¦¡¦«¦¡¦©
¦¦¦¡¦ª¦¡¦ª¦¡¦¥
(-0.5, 3.5) (3.5, 3.5)
ÅØ½ºÃ³ÀÇ
(ÅØ¼¿) = (À§Ä¡ÁÂÇ¥)
¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ
(-0.5, -0.5) = [ÁÂÃø»ó´Ü]
(3.5, -0.5) = [¿ìÃø»ó´Ü]
(-0.5, 3.5) = [ÁÂÃøÇÏ´Ü]
(3.5, 3.5) = [¿ìÃøÇÏ´Ü]
À§Ä¡ÁÂÇ¥µé¿¡ ÀÔÇôÁý´Ï´Ù.
±×·±µ¥ ¿©±â¼ ¸¸¾à, À§Ä¡ ÁÂÇ¥¿¡¼ -0.5¸¦ Çϸé
/*¾Æ·¡´Â À§Ä¡ÁÂÇ¥ÀÔ´Ï´Ù.*/
(-0.5,-0.5) (3.5,-0.5)
¦£¦¡¦¨¦¡¦¨¦¡¦¤
¦§¦¡¦«¦¡¦«¦¡¦©
¦§¦¡¦«¦¡¦«¦¡¦©
¦¦¦¡¦ª¦¡¦ª¦¡¦¥
(3.5,-0.5) (3.5,3.5)
À§Ä¡µé¿¡ ÅØ½ºÃ³°¡ ¸ÅÇÎÀÌ µÇ¹Ç·Î Çȼ¿°ú ÅØ¼¿ÀÇ Á߽ɰªÀÌ ÀÏÄ¡ÇÏ°Ô µË´Ï´Ù.
-0.5~3.5¸¦ 0~4ÀÇ °ø°£¿¡ ÀÔÈ÷´Â°Ô ¾Æ´Ñ,
-0.5~3.5¸¦ -0.5~3.5ÀÇ °ø°£¿¡ ÀÔÈù´Ù°í »ý°¢ÇϽøé ÀÌÇØ°¡ °¥µíÇÕ´Ï´Ù. _________________ ´Þ¸®ÀÚ! ÇÏ´ÃÀ» ÇâÇØ!! |
|
| À§·Î |
|
 |
ºñȸ¿ø ¼Õ´Ô
|
Re: ±Û¾´ÀÌÀÔ´Ï´Ù. |
¿Ã·ÁÁü: 2007-07-22 15:36
|
|
[quote="seeper"]
| ºñȸ¿ø ¾¸: |
| ±×³É °á°ú¸¸ º¸°í ³Ñ¾î°¥·Á°í Çß½À´Ï´Ù. °á°ú¿¡ 0.5¸¦ Àû¿ëÇØ º¸¾Ò´Âµ¥¿ä ¿©ÀüÈ÷ ij¸¯ÅÍ À̵¿½Ã¿¡ ±ô¹Ú°Å¸²°ú ¶³¸²Çö»óÀÌ ¹ß»ýÇÕ´Ï´Ù. |
±ô¹Ú°Å¸²°ú ¶³¸²Çö»óÀº ÀüÇô ´Ù¸¥¹®Á¦ÀÔ´Ï´Ù.
±ô¹Ú·¯¸²°ú ¶³¸²Çö»óÀÌ ÀüÇô ´Ù¸¥¹®Á¦¶ó°í Çϼ̴µ¥¿ä. À©µµ¿ì ¸ðµåÀ϶§ÀÇ vsync¸»¾¸ÇϽô°ǰ¡¿ä.
½ÌÅ©¹®Á¦°¡ ¾Æ´Ï¶ó¸é ±¸Ã¼ÀûÀ¸·Î ¼³¸í ºÎʵ右´Ï´Ù.
Á¦°¡ À§¿¡¼ Å×½ºÆ® ÇØº» 1,2´Â µÎ°³ Áß¿¡ Çϳª´Â ¹«Á¶°Ç ÇØ¾ß ÇÏ´Â °ÍÀ̰í,
3¹øµµ ¹«Á¶°Ç ÇØ¾ß ÇÏ´Â °ÍÀ¸·Î °á·Ð ³»·È½À´Ï´Ù.
Âü ÀÌ»óÇÑ°Ô 3¹øÀä. °á°úÀûÀ¸·Î ȸ鿡 »Ñ·ÁÁö´Â °ÍÀÌ Çȼ¿ÁÂÇ¥(Á¤¼ö)°¡ ¾Æ´Ï¸é Àϱ׷¯Áö´Â Çö»óÀÌ ¹ß»ýÇÑ´Ù´Â °ÍÀÔ´Ï´Ù.
¿©±â¼ ¸»ÇÏ´Â Àϱ׷¯Áö´Â Çö»óÀ̶õ ±ôºý°Å¸²°ú ¶³¸²À» ¸»ÇÑ °ÍÀÌ ¾Æ´Õ´Ï´Ù. 1¹ø°ú ȤÀº 2¹øÀ» ó¸® ¾ÈÇßÀ» °æ¿ì¿¡ »ý±â´Â Çö»óÀ» ¸»ÇÕ´Ï´Ù. |
|
| À§·Î |
|
 |
seeper
°¡ÀÔ: 2003³â 6¿ù 6ÀÏ ¿Ã¸° ±Û: 1483
|
Re: ±Û¾´ÀÌÀÔ´Ï´Ù. |
¿Ã·ÁÁü: 2007-07-22 16:26
|
|
| ºñȸ¿ø ¾¸: |
| seeper ¾¸: |
| ±ô¹Ú°Å¸²°ú ¶³¸²Çö»óÀº ÀüÇô ´Ù¸¥¹®Á¦ÀÔ´Ï´Ù. |
±ô¹Ú·¯¸²°ú ¶³¸²Çö»óÀÌ ÀüÇô ´Ù¸¥¹®Á¦¶ó°í Çϼ̴µ¥¿ä. À©µµ¿ì ¸ðµåÀ϶§ÀÇ vsync¸»¾¸ÇϽô°ǰ¡¿ä.
½ÌÅ©¹®Á¦°¡ ¾Æ´Ï¶ó¸é ±¸Ã¼ÀûÀ¸·Î ¼³¸í ºÎʵ右´Ï´Ù.
Á¦°¡ À§¿¡¼ Å×½ºÆ® ÇØº» 1,2´Â µÎ°³ Áß¿¡ Çϳª´Â ¹«Á¶°Ç ÇØ¾ß ÇÏ´Â °ÍÀ̰í,
3¹øµµ ¹«Á¶°Ç ÇØ¾ß ÇÏ´Â °ÍÀ¸·Î °á·Ð ³»·È½À´Ï´Ù.
Âü ÀÌ»óÇÑ°Ô 3¹øÀä. °á°úÀûÀ¸·Î ȸ鿡 »Ñ·ÁÁö´Â °ÍÀÌ Çȼ¿ÁÂÇ¥(Á¤¼ö)°¡ ¾Æ´Ï¸é Àϱ׷¯Áö´Â Çö»óÀÌ ¹ß»ýÇÑ´Ù´Â °ÍÀÔ´Ï´Ù.
¿©±â¼ ¸»ÇÏ´Â Àϱ׷¯Áö´Â Çö»óÀ̶õ ±ôºý°Å¸²°ú ¶³¸²À» ¸»ÇÑ °ÍÀÌ ¾Æ´Õ´Ï´Ù. 1¹ø°ú ȤÀº 2¹øÀ» ó¸® ¾ÈÇßÀ» °æ¿ì¿¡ »ý±â´Â Çö»óÀ» ¸»ÇÕ´Ï´Ù. |
Á˼ÛÇÕ´Ï´Ù. ¿ÀŸÀÔ´Ï´Ù.
¿ø·¡ ¾²·Á´ø ¸»Àº ¾Æ·¡¿Í °°½À´Ï´Ù.
Âî±×·¯Áö´Â Çö»ó°ú ¶³¸²Çö»ó(±ôºý°Å¸²)Àº ÀüÇô ´Ù¸¥ ¹®Á¦ÀÔ´Ï´Ù.
0.5»©´Â°ÍÀº 3D °ø°£ÀÇ »ç°¢ÇüÀ» ½ÇÁ¦ 2D ÁÂÇ¥¿Í ¿ÏÀü µ¿ÀÏÇÏ°Ô Âï±âÀ§ÇØ »ç¿ëµÇ´Â ¹æ¹ýÀÔ´Ï´Ù.
±ôºý°Å¸®´Â°ÍÀº ¾Æ¸¶µµ ÇÁ·¹ÀÓ¸¶´Ù À§Ä¡¸¦ À߸øÂï¾î¼ ±×·±°É°Ì´Ï´Ù.
(¾Æ´Ï¸é SetTransformÀ» µéÂß³¯ÂßÇÏ°Ô ÇÏ´øÁö)
1°ú 2´Â µÑÁßÀÇ Çϳª¸¸ ÇØµµ µÇ´Â°Í ÀÔ´Ï´Ù.
¸¸¾à ¾ÈÇÑ´Ù ÇØµµ ¾ÆÁÖ ¾à°£ÀÇ Àϱ׷¯ÁüÀÌ º¸ÀÏ»ÓÀÔ´Ï´Ù. (¹«½ÃÇØµµ µÉÁ¤µµÀÇ)
3ÀÇ °æ¿ì´Â ¿Ö ±×°É ÇØ¾ßÇÏ´ÂÁö ¸ð¸£°Ú½À´Ï´Ù.
¹º°¡ ¼Ò½º°¡ Å©°Ô À߸øµÇ¾úÀ» È®·üÀÌ ³ô¾Æ º¸ÀÔ´Ï´Ù.
ºÎºÐÀûÀÎ ¹®Á¦·Î´Â ÇØ°áÇÒ¼ö ¾øÀ»°Í °°½À´Ï´Ù.
ÀÚ¼¼È÷ ¼³¸íÇÏ·Á¸é ³Ê¹« ±æ¾îÁö°í ÀÌ¹Ì ÀÖ´Â ³»¿ëÀ̱⵵ ÇÏ´Ï
http://telnet.or.kr/sec_directx/ Á¤µ¶Çغ¸¼¼¿ä.
3D±âÃÊ¿¡ ´ëÇØ¼ Àß ³ª¿ÍÀÖ½À´Ï´Ù. (Àúµµ óÀ½ºÎÅÍ ÀÌ ³»¿ëº¸°í °øºÎÇß½À´Ï´Ù.)
´õ¿í ±âÃʸ¦ °øºÎÇÏ·Á¸é ´Ù¸¥ Ã¥ÀÌ ÀÖ¾î¾ß ÇÒ°Í °°½À´Ï´Ù.
ps...
gpgÃâÆÇ»ç ¾²´Â ÀÌÀ¯´Â ±¤°í¶§¹®ÀÔ´Ï´Ù.
phpbb ¿¡ ¿Ü±¹º¿µéÀÌ µé¾î¿Í¼ ±¤°í¸¦ ³²±â´Âµ¥
gpgÃâÆÇ»ç¸¦ ¾´ ÀÌÈÄ¿¡´Â »ç¶óÁø°Í °°³×¿ä.
(±×¸²¿¡ ÀÖ´Â ±Û¾¾ Ä¡´Â°Íµµ ¶Õ¾ú¾úÁÒ. -_- ) _________________ seeper0 (a) gmail.com [emailÁÖ¼Ò ¹«´Ü¼öÁý°ÅºÎ] |
|
| À§·Î |
|
 |
|
|
»õ·Î¿î ÁÖÁ¦¸¦ ¿Ã¸± ¼ö ¾ø½À´Ï´Ù ´ä±ÛÀ» ¿Ã¸± ¼ö ¾ø½À´Ï´Ù ÁÖÁ¦¸¦ ¼öÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù ¿Ã¸° ±ÛÀ» »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù ÅõÇ¥¸¦ ÇÒ ¼ö ¾ø½À´Ï´Ù
|
Powered by phpBB © 2001, 2005 phpBB Group
|