Files
directx-plane-game/Graphics2/Camera.h
iDunnoDev f6bba67897 Added follow cam
Added "Controlled" mesh classes
Added Global Lighting Class
Added Gamepad controls
Split terrain nodes into Height and Perlin classes
Fixed Splitmesh node stuff
2022-05-09 17:50:22 +01:00

49 lines
1.1 KiB
C++

#pragma once
#include "core.h"
#include "DirectXCore.h"
#include "SharedMethods.h"
#include "ObjectNode.h"
class Camera
{
public:
Camera();
~Camera();
void Update();
XMMATRIX GetViewMatrix();
XMVECTOR GetCameraPosition();
void SetCameraPosition(XMVECTOR vectorIn);
void SetCameraPosition(XMFLOAT4 floatIn);
void SetCameraPosition(float x, float y, float z);
void SetPitch(float pitch);
void SetTotalPitch(float pitch);
float GetPitch() const;
void SetYaw(float yaw);
void SetTotalYaw(float yaw);
float GetYaw() const;
void SetRoll(float roll);
void SetTotalRoll(float roll);
float GetRoll() const;
void SetLeftRight(float leftRight);
void SetForwardBack(float forwardBack);
void SetFollowNode(shared_ptr<ObjectNode> nodeFollowed, XMFLOAT3 followOffset, bool positionOnly);
private:
XMFLOAT4 _cameraPosition;
XMFLOAT4X4 _viewMatrix;
float _moveLeftRight;
float _moveForwardBack;
float _cameraYaw;
float _cameraPitch;
float _cameraRoll;
shared_ptr<ObjectNode> _nodeFollowed;
XMFLOAT3 _followOffset;
bool _followPositionOnly;
};