3d좌표 2d좌표로 변환
반응형
POINT CAppForm::CONVERT_3DTO2D_POINT ( const D3DVIEWPORT9& vp, const D3DXMATRIX& matView, const D3DXMATRIX& matProj, D3DXVECTOR3 v )
{
D3DXMATRIXA16 matCombine = matView * matProj;
D3DXVec3TransformCoord ( &v, &v, &matCombine );
v.x += 1.0f;
v.y += 1.0f;
v.x = ( vp.Width * (v.x ) ) / 2.0f + vp.X;
v.y = ( vp.Height * (2.0f-v.y) ) / 2.0f + vp.Y;
POINT pt;
pt.x = (long)v.x;
pt.y = (long)v.y;
return pt;
}
//--------------------------------------------------------------------------------------
//Note: 3D 좌표를 2D 좌표로 바꿔서 글씨 써주기
D3DVIEWPORT9 vp;
m_pd3dDevice->GetViewport ( &vp );
D3DXVECTOR3 vPos ( 1000.0f, 0.0f, 0.0f );
POINT pt = CONVERT_3DTO2D_POINT ( vp, m_matView, m_matProj, vPos );
m_pFont->DrawText( pt.x, pt.y, fontColor, "ss222" );
'Study > C++' 카테고리의 다른 글
언제나 최악의 상황에서 스레드 테스트를..ㅜㅜ.. (0) | 2010.01.15 |
---|---|
DllMain 사용, DllMainCRTStartup , DllMain , fdwReason , DLL_PROCESS_ATTACH , DLL_PROCESS_DETACH (0) | 2010.01.10 |
EC++ 4. const의 사용 - 수정중 (0) | 2009.09.02 |
EC++ 3. const의 사용 (0) | 2009.08.28 |
pragma 정리 (0) | 2009.08.01 |
TAGS.