use glhck's pointer ray implementation