Using DefaultAxis to specify one of the base axis to move against
This commit is contained in:
@@ -37,7 +37,7 @@ namespace OpenVulkano
|
||||
Scene::SimpleDrawable m_drawable;
|
||||
Scene::Node m_node;
|
||||
};
|
||||
const Math::Vector3f PLANE_NORMAL(1, 0, 0);
|
||||
const Math::Vector3f PLANE_NORMAL(1, 0, 1);
|
||||
}
|
||||
class MovingCubeAppImpl final : public MovingCubeApp
|
||||
{
|
||||
@@ -127,6 +127,7 @@ namespace OpenVulkano
|
||||
m_morphableCameraControl.Init(&m_camera);
|
||||
#if USE_PLANE_CAM_CONTROL
|
||||
m_cameraControl.Init(&m_camera, PLANE_NORMAL);
|
||||
// m_cameraControl.Init(&m_camera, Scene::PlaneCameraController::DefaultAxis::OYZ);
|
||||
#else
|
||||
m_cameraControl.Init(&m_camera);
|
||||
#endif
|
||||
@@ -147,6 +148,7 @@ namespace OpenVulkano
|
||||
GetGraphicsAppManager()->GetRenderer()->SetScene(&m_scene);
|
||||
#if USE_PLANE_CAM_CONTROL
|
||||
m_cameraControl.Init(&m_camera, PLANE_NORMAL);
|
||||
// m_cameraControl.Init(&m_camera, Scene::PlaneCameraController::DefaultAxis::OYZ);
|
||||
#else
|
||||
m_cameraControl.Init(&m_camera);
|
||||
#endif
|
||||
|
||||
@@ -29,6 +29,18 @@ namespace OpenVulkano::Scene
|
||||
SetDefaultKeybindings();
|
||||
}
|
||||
|
||||
void PlaneCameraController::Init(Camera* camera, DefaultAxis axis)
|
||||
{
|
||||
Math::Vector3f vector;
|
||||
switch (axis)
|
||||
{
|
||||
case DefaultAxis::OXY: vector = Math::Vector3f(0, 0, 1); break;
|
||||
case DefaultAxis::OXZ: vector = Math::Vector3f(0, 1, 0); break;
|
||||
case DefaultAxis::OYZ: vector = Math::Vector3f(1, 0, 0); break;
|
||||
}
|
||||
Init(camera, vector);
|
||||
}
|
||||
|
||||
void PlaneCameraController::Tick()
|
||||
{
|
||||
auto input = OpenVulkano::Input::InputManager::GetInstance();
|
||||
|
||||
@@ -22,9 +22,17 @@ namespace OpenVulkano::Scene
|
||||
Input::InputAction* m_actionBoost;
|
||||
|
||||
public:
|
||||
enum class DefaultAxis
|
||||
{
|
||||
OXY,
|
||||
OXZ,
|
||||
OYZ,
|
||||
};
|
||||
|
||||
PlaneCameraController(Camera* camera = nullptr);
|
||||
|
||||
void Init(Camera* camera, const Math::Vector3f& planeNormal);
|
||||
void Init(Camera* camera, DefaultAxis axis);
|
||||
void Tick() override;
|
||||
void SetDefaultKeybindings();
|
||||
void SetPlaneNormal(const Math::Vector3f& planeNormal);
|
||||
|
||||
Reference in New Issue
Block a user