Study/Graphics
일정한 크기의 빌보드.
붕대마음
2010. 5. 18. 20:30
반응형
너무 오래동안 삽질했다..젝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 );
이런식으로 하면 된다..ㅜㅜ.
문제를 한번 복잡하게 생각하면 끝도없이 복잡해진다.
처음부터 차근차근 생각해보는 습관을 가져야 할 터인데...에휴...