`screen_coords_to_world_pos` and SSAA

Đang mở
#275 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
42/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
cpp, python
Lĩnh vực
api, computer-graphics

Hướng nghiên cứu

Chạy bản tái hiện Python được cung cấp với SSAA bị tắt và được bật, bắt đầu từ screen_coords_to_world_position và set_SSAA_factor. So sánh cách xử lý tọa độ của nó với đường dẫn Selection gốc, vốn theo báo cáo vẫn hoạt động. Được xem là hoàn tất khi screen_coords_to_world_position trả về các vị trí hữu hạn trên tam giác khi SSAA được bật, để nhãn hover xuất hiện.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

I am having trouble getting screen_coords_to_world_pos to work with SSAA on:

import numpy as np
import polyscope as ps
import polyscope.imgui as psim


pos = np.array([[-1, 0, 0], [1, 0, 0], [0, 1, 0]])
vtx = [[0, 1, 2]]

ps.init()
ps.register_surface_mesh("tri", pos, vtx)
ps.set_ground_plane_mode("none")

def callback():
    io = psim.GetIO()

    screen_coords = io.MousePos
    world_pos = ps.screen_coords_to_world_position(screen_coords)

    if np.all(np.isfinite(world_pos)):
        psim.TextUnformatted("Hover!")

#ps.set_SSAA_factor(4)

ps.set_user_callback(callback)
ps.show()

Without SSAA, the above runs fine, the label correctly appears when the mouse hovers the triangle. This is no longer the case when the line #ps.set_SSAA_factor(4) is uncommented (or enabled in UI).

Is there a transformation that needs to be applied to the screen_coords with SSAA enabled?
Incidentally, picking seems to work fine, as in the native "Selection" box shows the correct info when clicking on the triangle.

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

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

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của nmwsharp/polyscope

Tất cả issue của nmwsharp/polyscope

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.