From: Colin O Connor Public Function IsLazerHitting(ByVal device As Device, ByVal x As Single, ByVal y As Single) As Boolean Dim Near As New Vector3(x, y, 0) Dim Far As New Vector3(x, y, 1) Near.Unproject(device.Viewport, device.Transform.Projection, device.Transform.View, device.Transform.World) Far.Unproject(device.Viewport, device.Transform.Projection, device.Transform.View, device.Transform.World) Far.Subtract(Near) Dim Closest As New IntersectInformation 'Stores intersection information. 'Check for intersection. If objMainBoxMesh.MeshObject.Intersect(Near, Far, Closest) = True Then Return True Else Return False End If Return False End Function 'USAGE^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Private Sub frmMain_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown Select Case e.Button Case MouseButtons.Left If IsLazerHitting(mobjDX9, e.X, e.Y) = True Then MsgBox("Hit!") Else MsgBox("Miss...") End If End Select End Sub