kochol
دوشنبه 04 آبان 1388, 15:15 عصر
سلام
دوستان من از کد های زیر برای دوربین استفاده می کنم و متوجه شدم که تمام مدل هایی که من لود می کنم مثله این است که در ایینه دیده شوند مثلا کاراکتری که شمشیر در دست راستش است تو موتور شمشیر در دست چپش است و خونه ای که پلکانی در سمت چپ دارد پلکان در سمت راستش نمایش داده می شود.
دوستان اگر می تونند روش هایی که ماتریس های پروجکشن و view رو می سازن بگن.
ماتریس projection
float f = (float)m_iWidth/(float)m_iHeight;
float ys = 1/tanf(Fov/2.0f);
float xs = ys/f;
m_mProj._12=m_mProj._13=m_mProj._14=m_mProj._21=m_ mProj._23=m_mProj._24=
m_mProj._31=m_mProj._32=m_mProj._41=m_mProj._42=m_ mProj._44=0.0f;
m_mProj._11 = xs;
m_mProj._22 = ys;
m_mProj._33 = Far/(Far-Near);
m_mProj._34 = 1.0f;
m_mProj._43 = -Near*Far/(Far-Near);
ماتریس view
m_mView._11 = m_vRight.x; m_mView._12 = vcUp.x; m_mView._13 = Z.x;
m_mView._21 = m_vRight.y; m_mView._22 = vcUp.y; m_mView._23 = Z.y;
m_mView._31 = m_vRight.z; m_mView._32 = vcUp.z; m_mView._33 = Z.z;
m_mView._41 = -(m_vRight * m_vPos); m_mView._42 = -(vcUp * m_vPos); m_mView._43 = -(Z * m_vPos);
دوستان من از کد های زیر برای دوربین استفاده می کنم و متوجه شدم که تمام مدل هایی که من لود می کنم مثله این است که در ایینه دیده شوند مثلا کاراکتری که شمشیر در دست راستش است تو موتور شمشیر در دست چپش است و خونه ای که پلکانی در سمت چپ دارد پلکان در سمت راستش نمایش داده می شود.
دوستان اگر می تونند روش هایی که ماتریس های پروجکشن و view رو می سازن بگن.
ماتریس projection
float f = (float)m_iWidth/(float)m_iHeight;
float ys = 1/tanf(Fov/2.0f);
float xs = ys/f;
m_mProj._12=m_mProj._13=m_mProj._14=m_mProj._21=m_ mProj._23=m_mProj._24=
m_mProj._31=m_mProj._32=m_mProj._41=m_mProj._42=m_ mProj._44=0.0f;
m_mProj._11 = xs;
m_mProj._22 = ys;
m_mProj._33 = Far/(Far-Near);
m_mProj._34 = 1.0f;
m_mProj._43 = -Near*Far/(Far-Near);
ماتریس view
m_mView._11 = m_vRight.x; m_mView._12 = vcUp.x; m_mView._13 = Z.x;
m_mView._21 = m_vRight.y; m_mView._22 = vcUp.y; m_mView._23 = Z.y;
m_mView._31 = m_vRight.z; m_mView._32 = vcUp.z; m_mView._33 = Z.z;
m_mView._41 = -(m_vRight * m_vPos); m_mView._42 = -(vcUp * m_vPos); m_mView._43 = -(Z * m_vPos);