¿ì¼± Ä«¸Þ¶ó¸¦ ÃʱâÈ ÇÒ¶§ ÇÊ¿äÇÑ, ±âº»ÀûÀÎ º¯¼öÀÇ Çü¿¡ ´ëÇؼ ¾Ë¾Æ º¸°Ú½À´Ï´Ù.
º¯¼ö¸¦ ±ä¸»·Î ¼³¸íÇÏ´Â°Í º¸´Ù´Â »ó¼Ó¿¡ ´ëÇÑ Äڵ带 º¸¿©µå¸®´Â°Ô ÁÁ°Ú±º¿ä
D3DXMATRIX´Â 4 X 4Çà·ÄÀ» ³ªÅ¸³»´Â º¯¼ö·Î D3DMATRIX¸¦ »ó¼Ó ¹Þ¾Ò½À´Ï´Ù.
typedef struct D3DXMATRIX : public D3DMATRIX
{
........
........
........
}
typedef struct _D3DMATRIX {
union {
struct {
float _11, _12, _13, _14;
float _21, _22, _23, _24;
float _31, _32, _33, _34;
float _41, _42, _43, _44;
};
float m[4][4];
};
} D3DMATRIX;
D3DXVECTOR3´Â 3Â÷¿ø¿¡¼ °ø°£ÁÂÇ¥¸¦ Ç¥½ÃÇÏ´Â º¯¼ö·Î D3DVECTOR¸¦ »ó¼Ó ¹Þ¾Ò½À´Ï´Ù.
typedef struct D3DXVECTOR3 : public D3DVECTOR
{
........
........
........
}
typedef struct _D3DVECTOR {
float x;
float y;
float z;
} D3DVECTOR;
void SetupCamera ()¿¡¼ Ä«¸Þ¶ó ºä¿Í ÇÁ·ÎÁ§¼ÇÀ» ¼³Á¤ÇÕ´Ï´Ù.
1) Ä«¸Þ¶ó ºä ¼³Á¤
D3DXMATRIX *D3DXMatrixLookAtLH(
D3DXMATRIX *pOut,
CONST D3DXVECTOR3 *pEye,
CONST D3DXVECTOR3 *pAt,
CONST D3DXVECTOR3 *pUp)
ù¹ø° ÀÎÀÚ´Â ÇÔ¼öÀÇ °á°ú°ªÀ» ¹Þ½À´Ï´Ù.
µÎ¹ø° ÀÎÀÚ´Â Ä«¸Þ¶óÀÇ ¿øÁ¡À» ³ªÅ¸³À´Ï´Ù.
¼¼¹ø° ÀÎÀÚ´Â Ä«¸Þ¶óÀÇ Å¸°Ù À§Ä¡¸¦ ³ªÅ¸³À´Ï´Ù.
³×¹ø° ÀÎÀÚ´Â Ä«¸Þ¶óÀÇ ¿ùµå °ø°£ÀÇ À§ÂÊ ¹æÇâÀ» ³ªÅ¸³»´Âµ¥ ÀϹÝÀûÀ¸·Î (0, 1, 0)À» ³ªÅ¸³À´Ï´Ù.
Ä«¸Þ¶ó ¸ÞÆ®¸¯½º¸¦ È°¼ºÈ ½ÃÅ°±â À§Çؼ SetTransform()ÇÔ¼ö¸¦ È£ÃâÇÕ´Ï´Ù.
HRESULT SetTransform(
D3DTRANSFORMSTATETYPE State,
CONST D3DMATRIX* pMatrix
);
ù¹ø° ÀÎÀÚ¿¡´Â D3DTS_VIEW¸¦ ³Ö¾î Ä«¸Þ¶óºä¸¦ ¼³Á¤ÇѴٴ°ÍÀ» ¾Ë¸³´Ï´Ù.
µÎ¹ø° ÀÎÀÚ¿¡´Â D3DXMatrixLookAtLH()ÇÔ¼öÀÇ °á°ú°ªÀ» ³Ö½À´Ï´Ù.
2)ÇÁ·ÎÁ§¼Ç ¼³Á¤
°ø°£ÀÌ Ä«¸Þ¶ó ºä¸¦ ÅëÇؼ ¾î¶»°Ô º¸À̴°¡¸¦ ¼³Á¤ÇÏ´Â ÇÔ¼öÀÔ´Ï´Ù.
D3DXMATRIX *D3DXMatrixPerspectiveFovLH(
D3DXMATRIX *pOut,
FLOAT fovy,
FLOAT Aspect,
FLOAT zn,
FLOAT zf);
ù¹ø° ÀÎÀÚ´Â ÇÔ¼öÀÇ °á°ú°ªÀ» ¹Þ½À´Ï´Ù.
µÎ¹ø° ÀÎÀÚ´Â Ä«¸Þ¶ó ºäÀÇ º¸ÀÌ´Â ¿µ¿ª(fov)À» ¶óµð¾ÈÀ¸·Î ³ªÅ¸³À´Ï´Ù. ÀϹÝÀûÀ¸·Î D3DX_PI/4¸¦ Àû½À´Ï´Ù.
¼¼¹ø° ÀÎÀÚ´Â °¡·Î ¼¼·Î È¸é ºñÀ²À» ³ªÅ¸³À´Ï´Ù.
³×¹ø° ÀÎÀÚ´Â Ä«¸Þ¶ó ºäÀÇ NEAR ÀÎÀÚ¸¦ ³ªÅ¸³»´Âµ¥, ´õ °¡±îÀÌ ÀÖ´Â ¹°Ã¼´Â º¸ÀÌÁö ¾Ê½À´Ï´Ù.
´Ù¼¸Â° ÀÎÀÚ´Â Ä«¸Þ¶ó ºäÀÇ FAR ÀÎÀÚ¸¦ ³ªÅ¸³»´Âµ¥, ´õ ¸Ö¸® ÀÖ´Â ÀÎÀÚ´Â º¸ÀÌÁö ¾Ê½À´Ï´Ù.
ÇÁ·ÎÁ§¼Ç ¸ÞÆ®¸¯½º¸¦ È°¼ºÈ ½ÃÅ°±â À§ÇØ SetTransform()ÇÔ¼ö¸¦ ½ÇÇàÇÕ´Ï´Ù.
ù¹ø° ÀÎÀÚ¿¡ D3DTS_PROJECTION, µÎ¹ø° ÀÎÀÚ¿¡ D3DXMatrixPerspectiveFovLH() ÇÔ¼öÀÇ °á°ú°ªÀ» ³Ö½À´Ï´Ù.
    ¼Ò½ºº¸±â
    DOWNLOAD
    È¨À¸·Î
    À妽º·Î
|