We present a simple yet effective snapping technique for constraining the motion of the cursor of an input device to the surface of 3D models whose geometry is arbitrarily deformed by a programmable hardware fragment and vertex processor. The technique works in image space and thus snaps the cursor to the geometry actually rendered instead of the geometry originally submitted to the rendering pipeline. We also present a method to establish a correspondence between snapped geometry in image space and object space, and an efficiency improvement based on the control of frequency of frame buffer accesses. Performance tests are conducted and compared against the standard picking and snapping algorithm used by the D3DX library of the Microsoft Direct3D API. We conclude by emphasizing the feasibility of our algorithm when facing the new advances of the graphics hardware for deforming geometry on the GPU.
[1]
Eric A. Bier.
Snap-dragging in three dimensions
,
1990,
I3D '90.
[2]
Thomas Ertl,et al.
Computer Graphics - Principles and Practice, 3rd Edition
,
2014
.
[3]
Harlen Costa Batagelo,et al.
Picking and snapping for 3D input devices
,
2003,
16th Brazilian Symposium on Computer Graphics and Image Processing (SIBGRAPI 2003).
[4]
Manuel Menezes de Oliveira Neto,et al.
Relief texture mapping
,
2000,
SIGGRAPH.
[5]
M. Carter.
Computer graphics: Principles and practice
,
1997
.
[6]
Tom Davis,et al.
Opengl programming guide: the official guide to learning opengl
,
1993
.
[7]
Steven K. Feiner,et al.
Computer graphics: principles and practice (2nd ed.)
,
1990
.
[8]
Maureen C. Stone,et al.
Snap-dragging
,
1986,
SIGGRAPH.