ȸÀü°ú Normal º¤ÅÍ

¿À¸¥¼Õ ÁÂÇ¥°è¿¡¼­ Á¤Á¡ÀÇ È¸Àü¿¡ µû¸¥ ³ë¸Ö º¤ÅÍÀÇ °ªÀ» º¯È­¸¦ ¾Ë¾Æº¸ÀÚ.
Z-UpÀ¸·Î XY Æò¸éÀÇ À¯³ª¸¦ À§¿¡¼­ ¾Æ·¡·Î ³»·Á´Ù º¸´Â Ä«¸Þ¶ó¸¦ ¼³Ä¡ ÇÏ¿´´Ù.

½ÇÁ¦·Î ȸÀü¿¡ µû¶ó Á¤Á¡ ¹öÆÛÀÇ ³ë¸Ö°ªÀ» º¯È­ ½ÃÅ°Áö´Â ¾Ê´Â´Ù. ¿ùµå ¸ÅÆ®¸¯½º¿¡ µû¶ó Á¤Á¡À» º¯È¯ °è»êÈÄ ComputeNormal( )·Î ³ë¸Ö°ªÀ» °è»êÇÑ´Ù.
 

Pitch Rotate 90µµ ȸÀüÇϸé Normal Z Ãà°ªÀº 1ÀÌ ³ª¿Â´Ù.

pitch, yaw, rollÀÇ ¶óµð¾È °ªÀº ¾Æ·¡ÀÇ Àü¿ªº¯¼ö¿¡ Ãß°¡µÈ´Ù.

float    g_pitchAngle = 0.0f;

float    g_yawAngle = 0.0f;

float    g_rollAngle = 0.0f;

Render3D ¸Þ½îµå¿¡¼­ ¿¡µðÅÍ Ã¢ÀÇ ÀԷ°ªÀ» ³ë¸Ö°ªÀ¸·Î º¯È¯ÇÑ´Ù.
D3DXQuaternionRotationYawPitchRoll( ) ´ÙÀÌ·ºÆ® X API·Î ÄõÆ®´Ï¾ð ±¸ÇÑÈÄ ¿ùµå Çà·Ä·Î º¯È¯ÇÑ´Ù.

HRESULT Render3D ()

{

    D3DXMATRIX    matWorld;

 

    D3DXQUATERNION quat;

    D3DXQuaternionRotationYawPitchRoll( &quat, DEGtoRAD(g_yawAngle), DEGtoRAD(g_pitchAngle), DEGtoRAD(g_rollAngle) );

    D3DXMatrixRotationQuaternion( &matWorld, &quat );

 

    DisplayNormal( matWorld );

 

    .................

}

À̹øÀåÀº ȸÀü°ª¿¡ µû¶ó ³ë¸Ö°ªÀÌ ¾î¶»°Ô º¯È­ ÇÏ´ÂÁö ´«À¸·Î º¸±â À§Çؼ­ ¸¸µé¾ú´Ù.
Æò¸éÀÇ ±â¿ï±â Z¼ººÐ °¢µµ¿¡ µû¶ó Z ¼ººÐÀÇ ³ë¸Ö°ªÀÌ ¾î¶»°Ô µÇ´ÂÁö º¸ÀÚ.

³ë¸Ö°ª¿¡ µû¶ó °øÀ̳ª ¹Ú½º¸¦ ´øÁú¶§ ±×¶ó¿îµå Ãæµ¹·Î ó¸® ÇÒÁö, º® Ãæµ¹·Î ó¸® ÇÒÁö ÆÇ´ÜÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

ÇÁ·ÎÁ§Æ® : tutorial16_normal.zip