Hello again,
Fortunately I have a friend who is good at 3D graphics and yesterday he showed me a simple way to achieve what I was after. First I had to determine the world coordinates of the camera (C), and of the mouse on the near plane (M). I kept the default gemwin settings, so the camera is located at C = (0,0,4) and the mouse at M = (x,y,3) with x and y between -1 and 1 when the gemwin is square.
We get the ray to cast by doing M - C and normalizing the resulting vector.
Then I used the technique described here : https://www.scratchapixel.com/lessons/3d-basic-rendering/minimal-ray-tracer-rendering-simple-shapes/ray-sphere-intersection.html
This gets us all the spheres pointed at by the mouse.
Sorting the spheres by their respective distances to M, we then get the closest one.
I didn't go further because this was all I needed.
I hope this might help someone in the future.
Cheers,
Joseph

Le 08/03/2025 à 15:43, Joseph Larralde a écrit :
Hello list,
I'm currently working on a Gem patch where I have a lot of sphere primitives and I would like to identify the sphere that appears under some particular Gemwin screen coordinates (aka raycasting). I can't find an object that already does this calculation so I ended up finding this SO answer explaining the raycasting principle https://stackoverflow.com/a/19153090. Still, I'm a bit lost and don't know where to start ... I found this informative post for the 3D graphics noob that I am : https://gamedev.stackexchange.com/a/178645
But I can't figure out how to apply this to Gem.
Any help would be greatly appreciated.
Best,
Joseph

---
[email protected] - the Pure Data mailinglist
https://lists.iem.at/hyperkitty/list/[email protected]/message/Q66NZGT4RA6NY3W5UFRUZIGOMXP3CE6B/

To unsubscribe send an email to [email protected] mailing list
UNSUBSCRIBE and account-management -> https://lists.iem.at/

Reply via email to