Ejemplo n.º 1
0
SGD::Point pointLerp(SGD::Point start, SGD::Point end, float dt, float duration)
{
	SGD::Point position;
	position.x = floatLerp(start.x, end.x, dt, duration);
	position.y = floatLerp(start.y, end.y, dt, duration);
	return position;
}
Ejemplo n.º 2
0
void CPUTCameraModelViewer::Update(float deltaSeconds)
{

	float prevDistance = mDistance;
	float lerp = floatClamp( deltaSeconds * 6, 0.0f, 1.0f);
	mDistance = floatLerp(mDistance, mDstDistance, lerp);

	float3 look = (float4x4RotationX(mViewAngles.x) * float4x4RotationY(mViewAngles.y)) * float3( 0, 0, 1 );

	float3 pos = mTarget - look * mDistance;

	mpCamera->SetPosition(pos);
	((CPUTCamera*)mpCamera)->LookAt(mTarget);
	mpCamera->Update(deltaSeconds);
}
Ejemplo n.º 3
0
void CPUTCameraControllerOrthographic::Update(float deltaSeconds)
{
	mPosition = ClampPosition(mPosition);
	mCurWidth = floatLerp(mMinWidth, mMaxWidth, mZoomRatio);
	
	//float scale = mViewportDim.x / mCurWidth;
	float aspectRatio = mViewportDim.x / mViewportDim.y;
	mCurHeight = mCurWidth / aspectRatio;

	mCamera->SetPosition(mPosition);
	
	mCamera->SetFarPlaneDistance(1000);
	mCamera->SetNearPlaneDistance(0.1f);
	mCamera->SetWidth(mCurWidth);
	mCamera->SetHeight(mCurHeight);
	mCamera->Update();

	float4x4 projMatrix = *mCamera->GetProjectionMatrix();
	projMatrix.r1.y *= -1.0f;
	mCamera->SetProjectionMatrix(projMatrix);

}