일정한 크기의 빌보드.

반응형

너무 오래동안 삽질했다..젝1.!!!!!!!

카메라 거리에 따른 스케일량 공식
(카메라 FOV * 0.5f) * 카메라와의 거리


카메라와의 거리
D3DXVECTOR3 vLen = D3DXVECTOR3(m_pkRenderer->GetEyePos()->x - pkEntityFont->GetFontPos()->x,
      m_pkRenderer->GetEyePos()->y - pkEntityFont->GetFontPos()->y,
      m_pkRenderer->GetEyePos()->z - pkEntityFont->GetFontPos()->z);
float fLen = D3DXVec3Length(&vLen);

스케일 값
float scale = tan(m_pkRenderer->GetFov()/2)*fLen*0.4f;

가장 끝에 있는 상수는 원하는 크기를 위한 임의의 값.

빌보드에 곱해줄 스케일 행렬
D3DXMATRIX matBillScale;
D3DXMatrixScaling(&matBillScale, scale, scale, 1 );      
D3DXMatrixScaling(&m_matScale, pv3DScaling->x, pv3DScaling->y, 1 );

이런식으로 하면 된다..ㅜㅜ.
문제를 한번 복잡하게 생각하면 끝도없이 복잡해진다.
처음부터 차근차근 생각해보는 습관을 가져야 할 터인데...에휴...


'Study > Graphics ' 카테고리의 다른 글

3D 모델링의 개요 및 종류  (0) 2010.11.27
shader 2.0 & 3.0  (0) 2010.08.28
3d 좌표를 2d로 바꾸는 법.  (0) 2010.05.17
거리에 관계없이 일정한 크기 모델은 어떻게 하나요?  (0) 2010.04.29
Effect Pool  (2) 2010.02.06
TAGS.

Comments