pinch zoom linked to camera fov

This commit is contained in:
2017-04-28 10:00:18 +01:00
parent 5753002ca9
commit 96401a1e5d

View File

@@ -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;