예제 #1
0
//-----------------------------------------------
void CPUTFrustum::InitializeFrustum( CPUTCamera *pCamera )
{
    if(pCamera->GetProjectionMode() == CPUT_PERSPECTIVE)
    {
        InitializeFrustum(
            pCamera->GetNearPlaneDistance(),
            pCamera->GetFarPlaneDistance(),
            pCamera->GetAspectRatio(),
            pCamera->GetFov(),
            pCamera->GetPositionWS(),
            pCamera->GetLookWS(),
            pCamera->GetUpWS()
        );
    } 
    else if(pCamera->GetProjectionMode() == CPUT_ORTHOGRAPHIC)
    {
        InitializeFrustum(
            pCamera->GetNearPlaneDistance(),
            pCamera->GetFarPlaneDistance(),
            pCamera->GetAspectRatio(),
            pCamera->GetWidth(),
            pCamera->GetHeight(),
            pCamera->GetPositionWS(),
            pCamera->GetLookWS(),
            pCamera->GetUpWS()
        );
    }
    else
    {
        DEBUG_PRINT("Error: Camera projection mode undefined\n");
    }
}
//-----------------------------------------------
void CPUTFrustum::InitializeFrustum( CPUTCamera *pCamera )
{
    InitializeFrustum(
        pCamera->GetNearPlaneDistance(),
        pCamera->GetFarPlaneDistance(),
        pCamera->GetAspectRatio(),
        pCamera->GetFov(),
        pCamera->GetPosition(),
        pCamera->GetLook(),
        pCamera->GetUp()
    );
}