티스토리 툴바


Programming/DirectX2012/02/20 00:29

3일전 게임 프로그래밍의 정석 책을 발견하여 바로 데려왔습니다.
예제 소스도 VS2005, VS2008, VS2010 버전 3가지로 나누어서 제공하고 있어서 참 배려심이 깊으시구나 해서 감동하고 있었는데 VS2010에선 예제가 빌드가 되지 않더군요.

매우 자주 보던 친숙한 LNK2001 에러가 친절하게 나주어서 해결해볼까 해서 속성에 들어가서 이리저리 보는데...
아무 문제가 없는 설정들... 혹시 몰라서 이러저러 설정도 바꿔보고 시도도 해봤지만 결국 해결이 안되더군요...

그래서 결국 혹시나 하는 마음에 VS2008을 설치하여 2008버전의 예제를 돌려보았습니다.
너무 스무드하게, 아름답게 실행 되더군요...

아무래도 2010버전에선 빌드가 안되는 듯 합니다. 원인은 아직도 찾아다니고 있습니다.
만약 원인을 알게되면 여기에 해결법을 올리겠습니다.^^;

 
Posted by 토와
Programming/DirectX2012/01/13 00:06




출처 :  http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=13189

Posted by 토와
Programming/DirectX2011/12/31 16:45
일단 공식은

X'  =  (  X  -  a  ) * R   +   a 


소스코드

D3DXMATRIXA16  matRot;
D3DXMatrixRotationAxis ( &matRot, &m_vUp, angle );
m_matTM = matRot * m_matTM;

 // ( X - a )
D3DXVECTOR3   vNewDst  =  m_vLookat  -  m_vEye;

// ( X - a ) * R
D3DXVec3TransformCoord( &m_vView, &vNewDst, &matRot );

// X' = ( X - a ) * R + a
m_vLookat = m_vView + m_vEye;
 
D3DXVec3Cross( &m_vCross, &m_vUp, &m_vView ); 


여기서 변수 m_matTM은 D3DXMATRIXA16 타입으로 메시의 최종변환행렬입니다.


Posted by 토와