3d 좌표를 2d로 바꾸는 법.
[출처] 3D 좌표 2D 좌표로 바꾸기 |작성자 하이요
//CONVERT_3DTO2D_POINT (함수)
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" );
꼭 Render 합시다!! ^^
웹에서 찾아보면 2D 좌표를 3D 좌표 바꿔주는건 많지만 3D 좌표를 2D 좌표로 바꾸지기는 별로 없으니 꼭 기억하자!! ^^
'Study > Graphics ' 카테고리의 다른 글
shader 2.0 & 3.0 (0) | 2010.08.28 |
---|---|
일정한 크기의 빌보드. (0) | 2010.05.18 |
거리에 관계없이 일정한 크기 모델은 어떻게 하나요? (0) | 2010.04.29 |
Effect Pool (2) | 2010.02.06 |
Alternatives to Using Z-Bias to Fix Z-Fighting Issues (0) | 2009.11.11 |