Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Дракон наверное об этом: http://pmg.org.ru/nehe/nehex2.htm (тут есть код и описание алгоритма)
View frustum (пирамида видимости) – это часть пространства, в которой находятся все объекты, видимые из данной точки в данный момент. Проще говоря поле зрения камеры.
canBeSeen проверяет видимость одной точки к другой, без учёта поворота головы (направленного взора).
Если зайти за стену из блоков, возвращает false. Так что метод рабочий.
Ну а по сабжу... хз, если найду, отпишусь.
единственное что остается, проверять угол поворота головы игрока и сравнивать с положением Entity, если canBeSeen = true;
Это будет пусть и не точным, за то быстрым. И точность будет зависеть от "угловой" fov или как там её.
Берем равносторонний треугольник с 90 градусами в каждом угле. На вершине стоит игрок, то что он видит и есть треугольник.
далее проверяем удаленность точки Entity от всех трех точек, если хоть одна из них дальше длины ребра треугольника (катет), то точка (Entity) лежит за пределами треугольника.
Сам я не силен в математике, но вот ресурс http://mathprofi.ru/ .Если сесть и разобраться, то можно, там очень понятно расжевываются всё.