30 lines
585 B
C++
30 lines
585 B
C++
#include "Scene.h"
|
|
|
|
float WORLD::GetCurrentFocale()
|
|
{
|
|
return CurrentFocale;
|
|
}
|
|
|
|
void WORLD::SetCurrentFocale(float focale)
|
|
{
|
|
if (focale)
|
|
CurrentFocale = focale;
|
|
else
|
|
CurrentFocale = 2.5f; //Default focale value
|
|
}
|
|
|
|
Vector WORLD::Project_2_Screen(Vector V,MAP *RefMap, float focale)
|
|
{
|
|
Vector Ret;
|
|
float Ooz;
|
|
if (focale == 0)
|
|
focale = GetCurrentFocale();
|
|
if (V.z > 0.001f)
|
|
{
|
|
Ooz = 1.0f / V.z;
|
|
Ret.x = 0.5f*(focale * V.x * Ooz * RefMap->SX + RefMap->SX);
|
|
Ret.y = 0.5f*(focale * V.y * Ooz * RefMap->SX + RefMap->SY);
|
|
Ret.z = Ooz;
|
|
} else Ret.z = -1.0f;
|
|
return Ret;
|
|
}
|