Suggestions on rotate/zoom/pan behavior
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- C++
- Star
- 2.2k
- Fork
- 242
- Merge trung bình
- 11 phút
- Pull request đã merge (30 ngày)
- 1
Mô tả
Hi, thanks for this great lib !
- The recent feature that allows to select a focus point with
ctr+shift+left clickis very convenient. - The trackball follows the rule of path invariance which is great too !
However, I'd like to suggest other features that could improve the ergonomy when carefully inspecting a scene.
Rotate
Current trackball seems to be an azimuth/elevation control which is fine, but disallows roll completely. This "turntable" behavior might be desired, but a more standard approach is to use an azimuth/elevation behavior in the center of the viewport fading to a more roll-permissive behavior further from the center. This nice blog post from Scott Shambaugh summarizes different trackball implementations, including the standard OpenGL one.
Zoom
The default mouse scroll zoom should be relative (without pressing shift+ctrl). The absolute zoom is bad because zooming is supposed to give an impression of scaling things. When far from the scene, it is painfully slow, and way too sensitive near an object's surface.
Pan
Currently, panning the camera does not move the focus point which creates a incomfortable setup if the user decide to rotate again. I suggest to also translate the focus point by a same amount to prevent that. Also, the panning is absolute thus suffers from the same issues of the absolute zoom. I recommend to make it proportional to the distance between the eye and the focus point.
Lastly, I find the focus point picking so convenient I think it should be more accessible (maybe double click like in Meshlab ?)
Those are only suggestions of course.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách truy vết việc xử lý đầu vào hiện có cho trackball, zoom, pan và điểm tiêu điểm được mô tả trong issue. So sánh hành vi hiện tại với các tài liệu tham chiếu về trackball được liên kết và xác định riêng các quyết định có thể kiểm thử cho việc xoay, zoom tương đối, pan theo tỷ lệ, di chuyển điểm tiêu điểm và kích hoạt điểm tiêu điểm trước khi triển khai bất kỳ thứ gì.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- cpp
- Lĩnh vực
- computer-graphics
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 30/100