|
|
发表于 2005-7-28 13:01:00
|
显示全部楼层
Re:关于空间坐标与屏幕坐标的转换
基本是得到一个Matrix ,然后拿她去乘要转的点。
D3DVIEWPORT8 view;
if(pDevice->GetViewport(&view)>=0){
ZMatrix4 mView, mPro;
if(pDevice->GetTransform(D3DTS_VIEW, &mView)>=0){
if(pDevice->GetTransform(D3DTS_PROJECTION, &mPro)>=0){
*pMatrix4 = (mView*mPro).scaleR(1,-1,1).translateR(1,1,0).scaleR(view.Width/2.0f, view.Height/2.0f, 1);
isOK = TRUE;
}
}
} |
|