void Camera::Update(float delta) { if(this->updateCamera) { if(activeWindowDisabling) { if(GetForegroundWindow() == this->g_hWnd) UpdateSpecific(delta); } else { UpdateSpecific(delta); } this->MoveToTerrain(); this->MoveToFollowPosition(); if(this->forceBoundries) { if(this->pos.x < this->minBoundries.x) this->pos.x = this->minBoundries.x; else if(this->pos.x > this->maxBoundries.x) this->pos.x = this->maxBoundries.x; if(this->pos.y < this->minBoundries.y) this->pos.y = this->minBoundries.y; else if(this->pos.y > this->maxBoundries.y) this->pos.y = this->maxBoundries.y; if(this->pos.z < this->minBoundries.z) this->pos.z = this->minBoundries.z; else if(this->pos.z > this->maxBoundries.z) this->pos.z = this->maxBoundries.z; } } }
void Camera::Update(float delta) { this->MoveFollowingMesh(); if(this->updateCamera) { if(activeWindowDisabling) { if(GetForegroundWindow() == this->g_hWnd) UpdateSpecific(delta); } else { UpdateSpecific(delta); } //this->MoveToTerrain(); if(this->forceBoundries) { if(this->pos.x < this->minBoundries.x) this->pos.x = this->minBoundries.x; else if(this->pos.x > this->maxBoundries.x) this->pos.x = this->maxBoundries.x; if(this->pos.y < this->minBoundries.y) this->pos.y = this->minBoundries.y; else if(this->pos.y > this->maxBoundries.y) this->pos.y = this->maxBoundries.y; if(this->pos.z < this->minBoundries.z) this->pos.z = this->minBoundries.z; else if(this->pos.z > this->maxBoundries.z) this->pos.z = this->maxBoundries.z; } } if(this->useFBXPosition) { // Update v p matrix. D3DXVECTOR3 curPos = this->FBXPosition; D3DXVECTOR3 at = curPos + this->forward; D3DXMatrixLookAtLH(&view, &curPos, &at, &this->up); D3DXMatrixPerspectiveFovLH(&this->projection, this->params.FOV * 0.01745f, this->params.WindowWidth / (float)this->params.WindowHeight, this->params.NearClip, this->params.FarClip); D3DXMatrixMultiply(&this->viewProj, &this->view, &this->projection); this->oldpos = curPos; } else { // Update v p matrix. D3DXVECTOR3 curPos = this->pos; D3DXVECTOR3 at = curPos + this->forward; D3DXMatrixLookAtLH(&view, &curPos, &at, &this->up); D3DXMatrixPerspectiveFovLH(&this->projection, this->params.FOV * 0.01745f, this->params.WindowWidth / (float)this->params.WindowHeight, this->params.NearClip, this->params.FarClip); D3DXMatrixMultiply(&this->viewProj, &this->view, &this->projection); this->oldpos = curPos; } }