To jest definicja tej klasy
#include "FCamera.h"
FCamera::FCamera()
{
mYaw = 0.0f;
mPitch = 0.0f;
mDefaultForward = XMVectorSet(0.0f, 0.0f, 1.0f, 0.0f);
mDefaultRight = XMVectorSet(1.0f, 0.0f, 0.0f, 0.0f);
mForward = XMVectorSet(0.0f, 0.0f, 1.0f, 0.0f);
mRight = XMVectorSet(1.0f, 0.0f, 0.0f, 0.0f);
}
FCamera::~FCamera()
{
}
void FCamera::Initialize(int width, int height, XMVECTOR camPosition, XMVECTOR camTarget, XMVECTOR camUp)
{
mView = XMMatrixLookAtLH(mPosition, mTarget, mUp);
mProjection = XMMatrixPerspectiveFovLH(3.14f / 4.0f, (float)width / height, 1.0f, 200.0f);
}
void FCamera::UpdateCamera(XMVECTOR charPosition)
{
// Set the camera target at character.
mTarget = charPosition;
mTarget = XMVectorSetY(mTarget, XMVectorGetY(mTarget) + 5.0f);
// Rotate camera around target
mRotationMatrix = XMMatrixRotationRollPitchYaw(-mPitch, mYaw, 0);
mPosition = XMVector3TransformNormal(mDefaultForward, mRotationMatrix);
mPosition = XMVector3Normalize(mPosition);
// Set our cameras position to rotate around the character.
mPosition = (mPosition * mCharCamDist) + mTarget;
mForward = XMVector3Normalize(mTarget - mPosition);
mForward = XMVectorSetY(mForward, 0.0f);
mForward = XMVector3Normalize(mForward);
mRight = XMVectorSet(-XMVectorGetZ(mForward), 0.0f, XMVectorGetX(mForward), 0.0f);
mUp = XMVector3Normalize(XMVector3Cross(XMVector3Normalize(mPosition - mTarget), mRight));
mView = XMMatrixLookAtLH(mPosition, mTarget, mUp);
}
void FCamera::SetParameters(float camYaw, float camPitch, XMVECTOR camRight, XMVECTOR camForward)
{
mYaw = camYaw;
mPitch = camPitch;
mRight = camRight;
mForward = camForward;
}
XMVECTOR FCamera::GetPosition()
{
return mPosition;
}
XMVECTOR FCamera::GetRight()
{
return mRight;
}
XMVECTOR FCamera::GetForward()
{
return mForward;
}
const XMMATRIX FCamera::GetView()
{
return mView;
}
const XMMATRIX FCamera::GetProjection()
{
return mProjection;
}
float FCamera::GetYaw()
{
return mYaw;
}
float FCamera::GetPitch()
{
return mPitch;
}
Narazie nie mam dostępu do pliku w którym wywołuje podeślę jak wrócę do domu