pinch zoom linked to camera fov
This commit is contained in:
@@ -1860,6 +1860,7 @@ class NodeCanvas : public Node
|
|||||||
glm::vec2 m_pan_start;
|
glm::vec2 m_pan_start;
|
||||||
glm::vec2 m_pan;
|
glm::vec2 m_pan;
|
||||||
glm::vec2 m_cur;
|
glm::vec2 m_cur;
|
||||||
|
float m_camera_fov;
|
||||||
float m_zoom_canvas = 1.f;
|
float m_zoom_canvas = 1.f;
|
||||||
float m_zoom_start;
|
float m_zoom_start;
|
||||||
bool method = true;
|
bool method = true;
|
||||||
@@ -1877,7 +1878,7 @@ public:
|
|||||||
m_canvas->layer_add("asd");
|
m_canvas->layer_add("asd");
|
||||||
m_canvas->clear();
|
m_canvas->clear();
|
||||||
m_sampler.create();
|
m_sampler.create();
|
||||||
m_face_plane.create<1>(1.99, 1.99);
|
m_face_plane.create<1>(2, 2);
|
||||||
}
|
}
|
||||||
virtual void draw() override
|
virtual void draw() override
|
||||||
{
|
{
|
||||||
@@ -1997,6 +1998,7 @@ public:
|
|||||||
break;
|
break;
|
||||||
case kEventType::MouseScroll:
|
case kEventType::MouseScroll:
|
||||||
m_zoom_canvas += me->m_scroll_delta * 0.1f;
|
m_zoom_canvas += me->m_scroll_delta * 0.1f;
|
||||||
|
m_canvas->m_cam_fov -= me->m_scroll_delta * 20.1f;
|
||||||
break;
|
break;
|
||||||
case kEventType::MouseCancel:
|
case kEventType::MouseCancel:
|
||||||
m_dragging = false;
|
m_dragging = false;
|
||||||
@@ -2020,11 +2022,12 @@ public:
|
|||||||
case kEventType::GestureStart:
|
case kEventType::GestureStart:
|
||||||
m_pan_start = m_pan;
|
m_pan_start = m_pan;
|
||||||
m_zoom_start = m_zoom_canvas;
|
m_zoom_start = m_zoom_canvas;
|
||||||
|
m_camera_fov = m_canvas->m_cam_fov;
|
||||||
break;
|
break;
|
||||||
case kEventType::GestureMove:
|
case kEventType::GestureMove:
|
||||||
m_pan = m_pan_start + ge->m_pos_delta * glm::vec2(-1, -1);
|
m_pan = m_pan_start + ge->m_pos_delta * glm::vec2(-1, -1);
|
||||||
//m_canvas->m_cam_fov = m_zoom_start + ge->m_distance_delta * .001f;
|
m_canvas->m_cam_fov = m_camera_fov - ge->m_distance_delta * .1f;
|
||||||
m_zoom_canvas = m_zoom_start + ge->m_distance_delta * .001f;
|
//m_zoom_canvas = m_zoom_start + ge->m_distance_delta * .001f;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user