| 74 | | // vprDEBUG(vprDBG_ALL, vprDBG_HVERB_LVL) << "GetApex:\nview mat:\n" << mViewMat << "\nviewMatInv:\n" << view_mat_inv << std::endl << vprDEBUG_FLUSH; |
|---|
| | 74 | //vprDEBUG(vprDBG_ALL, vprDBG_HVERB_LVL) |
|---|
| | 75 | // << "[vrj::Projection::getFrustumApexAndCorners()]" << std::endl; |
|---|
| | 76 | //vprDEBUG_NEXTnl(vprDBG_ALL, vprDBG_HVERB_LVL) |
|---|
| | 77 | // << "View matrix:\n" << mViewMat << std::endl; |
|---|
| | 78 | //vprDEBUG_NEXTnl(vprDBG_ALL, vprDBG_HVERB_LVL) |
|---|
| | 79 | // << "Inverse view matrix:\n" << view_mat_inv << std::endl |
|---|
| | 80 | // << vprDEBUG_FLUSH; |
|---|
| 79 | | float mult_factor = mFocusPlaneDist/mFrustum[Frustum::VJ_NEAR]; |
|---|
| 80 | | float bot = mFrustum[Frustum::VJ_BOTTOM]*mult_factor; |
|---|
| 81 | | float left = mFrustum[Frustum::VJ_LEFT]*mult_factor; |
|---|
| 82 | | float top = mFrustum[Frustum::VJ_TOP]*mult_factor; |
|---|
| 83 | | float right = mFrustum[Frustum::VJ_RIGHT]*mult_factor; |
|---|
| | 84 | const float mult_factor = mFocusPlaneDist / mFrustum[Frustum::VJ_NEAR]; |
|---|
| | 85 | const float bot = mFrustum[Frustum::VJ_BOTTOM] * mult_factor; |
|---|
| | 86 | const float left = mFrustum[Frustum::VJ_LEFT] * mult_factor; |
|---|
| | 87 | const float top = mFrustum[Frustum::VJ_TOP] * mult_factor; |
|---|
| | 88 | const float right = mFrustum[Frustum::VJ_RIGHT] * mult_factor; |
|---|
| 86 | | gmtl::Point3f apexClip(0.0f, 0.0f, 0.0f); |
|---|
| 87 | | gmtl::Point3f urClip(right, top, -mFocusPlaneDist); |
|---|
| 88 | | gmtl::Point3f lrClip(right, bot, -mFocusPlaneDist); |
|---|
| 89 | | gmtl::Point3f ulClip(left, top, -mFocusPlaneDist); |
|---|
| 90 | | gmtl::Point3f llClip(left, bot, -mFocusPlaneDist); |
|---|
| | 91 | const gmtl::Point3f apex_clip(0.0f, 0.0f, 0.0f); |
|---|
| | 92 | const gmtl::Point3f ur_clip(right, top, -mFocusPlaneDist); |
|---|
| | 93 | const gmtl::Point3f lr_clip(right, bot, -mFocusPlaneDist); |
|---|
| | 94 | const gmtl::Point3f ul_clip(left, top, -mFocusPlaneDist); |
|---|
| | 95 | const gmtl::Point3f ll_clip(left, bot, -mFocusPlaneDist); |
|---|
| 92 | | apex = view_mat_inv * apexClip; |
|---|
| 93 | | ur = view_mat_inv * urClip; |
|---|
| 94 | | lr = view_mat_inv * lrClip; |
|---|
| 95 | | ul = view_mat_inv * ulClip; |
|---|
| 96 | | ll = view_mat_inv * llClip; |
|---|
| | 97 | apex = view_mat_inv * apex_clip; |
|---|
| | 98 | ur = view_mat_inv * ur_clip; |
|---|
| | 99 | lr = view_mat_inv * lr_clip; |
|---|
| | 100 | ul = view_mat_inv * ul_clip; |
|---|
| | 101 | ll = view_mat_inv * ll_clip; |
|---|