Kinda slow, but working FOV. Translated from
http://reflexivelos.googlecode.com/svn/trunk/los2.cpp