forked from bartvdbraak/blender
fix for bug #18898: GE perspective 3D View not working properly (missing LENS)
note: I'm not changing GamePlayer files. There is no such a thing as 3D view camera in gameplayer (override_camera).
This commit is contained in:
parent
9a54ca9af7
commit
323863015d
@ -326,6 +326,7 @@ extern "C" void StartKetsjiShell(struct ScrArea *area,
|
|||||||
ketsjiengine->SetCameraOverrideProjectionMatrix(projmat);
|
ketsjiengine->SetCameraOverrideProjectionMatrix(projmat);
|
||||||
ketsjiengine->SetCameraOverrideViewMatrix(viewmat);
|
ketsjiengine->SetCameraOverrideViewMatrix(viewmat);
|
||||||
ketsjiengine->SetCameraOverrideClipping(v3d->near, v3d->far);
|
ketsjiengine->SetCameraOverrideClipping(v3d->near, v3d->far);
|
||||||
|
ketsjiengine->SetCameraOverrideLens(v3d->lens);
|
||||||
}
|
}
|
||||||
|
|
||||||
// create a scene converter, create and convert the startingscene
|
// create a scene converter, create and convert the startingscene
|
||||||
|
@ -1078,6 +1078,11 @@ void KX_KetsjiEngine::SetCameraOverrideClipping(float near, float far)
|
|||||||
m_overrideCamFar = far;
|
m_overrideCamFar = far;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void KX_KetsjiEngine::SetCameraOverrideLens(float lens)
|
||||||
|
{
|
||||||
|
m_overrideCamLens = lens;
|
||||||
|
}
|
||||||
|
|
||||||
void KX_KetsjiEngine::GetSceneViewport(KX_Scene *scene, KX_Camera* cam, RAS_Rect& area, RAS_Rect& viewport)
|
void KX_KetsjiEngine::GetSceneViewport(KX_Scene *scene, KX_Camera* cam, RAS_Rect& area, RAS_Rect& viewport)
|
||||||
{
|
{
|
||||||
// In this function we make sure the rasterizer settings are upto
|
// In this function we make sure the rasterizer settings are upto
|
||||||
@ -1351,6 +1356,8 @@ void KX_KetsjiEngine::PostProcessScene(KX_Scene* scene)
|
|||||||
KX_Camera* activecam = NULL;
|
KX_Camera* activecam = NULL;
|
||||||
|
|
||||||
RAS_CameraData camdata = RAS_CameraData();
|
RAS_CameraData camdata = RAS_CameraData();
|
||||||
|
if (override_camera) camdata.m_lens = m_overrideCamLens;
|
||||||
|
|
||||||
activecam = new KX_Camera(scene,KX_Scene::m_callbacks,camdata);
|
activecam = new KX_Camera(scene,KX_Scene::m_callbacks,camdata);
|
||||||
activecam->SetName("__default__cam__");
|
activecam->SetName("__default__cam__");
|
||||||
|
|
||||||
|
@ -129,6 +129,7 @@ private:
|
|||||||
MT_CmMatrix4x4 m_overrideCamViewMat;
|
MT_CmMatrix4x4 m_overrideCamViewMat;
|
||||||
float m_overrideCamNear;
|
float m_overrideCamNear;
|
||||||
float m_overrideCamFar;
|
float m_overrideCamFar;
|
||||||
|
float m_overrideCamLens;
|
||||||
|
|
||||||
bool m_stereo;
|
bool m_stereo;
|
||||||
int m_curreye;
|
int m_curreye;
|
||||||
@ -253,6 +254,7 @@ public:
|
|||||||
void SetCameraOverrideProjectionMatrix(const MT_CmMatrix4x4& mat);
|
void SetCameraOverrideProjectionMatrix(const MT_CmMatrix4x4& mat);
|
||||||
void SetCameraOverrideViewMatrix(const MT_CmMatrix4x4& mat);
|
void SetCameraOverrideViewMatrix(const MT_CmMatrix4x4& mat);
|
||||||
void SetCameraOverrideClipping(float near, float far);
|
void SetCameraOverrideClipping(float near, float far);
|
||||||
|
void SetCameraOverrideLens(float lens);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets display of all frames.
|
* Sets display of all frames.
|
||||||
|
Loading…
Reference in New Issue
Block a user