`screen_coords_to_world_pos` and SSAA
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 2.2k
- Forks
- 242
- Avg merge
- 11m
- Merged PRs (30d)
- 1
Description
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.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Run the provided Python reproduction with SSAA disabled and enabled, starting at screen_coords_to_world_position and set_SSAA_factor. Compare its coordinate handling with the native Selection path, which the report says still works. Done means screen_coords_to_world_position returns finite positions over the triangle when SSAA is enabled, so the hover label appears.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, python
- Domain
- api, computer-graphics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100