コード例 #1
0
ファイル: Camera.cpp プロジェクト: mgoetschius/GameEngine
void Camera::Update()
{
	if(Input::keys[Input::KEY_W])
    {
        cameraPosition -= moveSpeed * forwardVector;
        UpdateCameraVectors();
    }
    if(Input::keys[Input::KEY_S])
    {
        cameraPosition += moveSpeed * forwardVector;
        UpdateCameraVectors();
    }
	if(Input::keys[Input::KEY_A])
    {
        cameraRotation.y += rotationSpeed;
        UpdateCameraVectors();
    }
    if(Input::keys[Input::KEY_D])
    {
        cameraRotation.y -= rotationSpeed;
        UpdateCameraVectors();
    }
	if(Input::keys[Input::KEY_E])
	{
		cameraPosition.y += .1f;
	}
	if(Input::keys[Input::KEY_C] && cameraPosition.y > 1.0)
	{
		cameraPosition.y -= .1f;
	}

	viewMatrix = glm::lookAt(cameraPosition, cameraPosition-cameraForward, worldUp);
}
コード例 #2
0
ファイル: Camera.cpp プロジェクト: mgoetschius/GameEngine
Camera::Camera(float fov, int width, int height, float zNear, float zFar)
{
	projectionMatrix = glm::perspective(fov, (float)width/(float)height, zNear, zFar);
	cameraRotation = glm::vec3(0.0);
	cameraPosition = glm::vec3(0.0, 1.0, 3.0);
	worldUp = glm::vec3(0.0, 1.0, 0.0);
	UpdateCameraVectors();
	viewMatrix = glm::lookAt(cameraPosition, cameraPosition-cameraForward, worldUp); 

	moveSpeed = .005f;
    rotationSpeed = 0.05f;
}
コード例 #3
0
ファイル: camera.cpp プロジェクト: schecko/OpenGLBoxes
void Camera::MoveCameraPosition(Camera_Movement direction, GLfloat dt)
{

    GLfloat velocity = this->cameraProperties.translationSpeed * dt;
    if (direction == FORWARD)
        this->cameraProperties.position += this->cameraProperties.front * velocity;
    if (direction == BACKWARD)
        this->cameraProperties.position -= this->cameraProperties.front * velocity;
    if (direction == LEFT)
        this->cameraProperties.position -= this->cameraProperties.right * velocity;
    if (direction == RIGHT)
        this->cameraProperties.position += this->cameraProperties.right * velocity;

    UpdateCameraVectors();
}
コード例 #4
0
ファイル: camera.cpp プロジェクト: schecko/OpenGLBoxes
void Camera::ChangeViewAngle(GLfloat xOffset, GLfloat yOffset, GLboolean constrainPitch)
{
    xOffset *= this->cameraProperties.angleSensitivity;
    yOffset *= this->cameraProperties.angleSensitivity;

    this->cameraProperties.yaw += xOffset;
    this->cameraProperties.pitch += yOffset;

    if (constrainPitch)
    {
        if (this->cameraProperties.pitch > 89.0f)
        {
            this->cameraProperties.pitch = 89.0f;
        }
        if (this->cameraProperties.pitch < -89.0f)
        {
            this->cameraProperties.pitch = -89.0f;
        }
    }
    UpdateCameraVectors();
}
コード例 #5
0
ファイル: Camera.cpp プロジェクト: anden3/Craftmine
Camera::Camera() {
    UpdateCameraVectors();
}