ответ datenwolf имеет правильную идею, но, как написано, это не совсем правильно. Обозначим через P верхнюю треугольную подматрицу 3x3 матрицы проекции модель-вид, которую вы используете для рисования куба. Тогда третий ряд P (назовите его v для аргумента сакэ) представляет ненормализованное направление вашего взгляда. Теперь, чтобы проверить, указывает ли лицо на камеру, предполагая, что нормали к единице измерения направлены наружу, вы просто должны проверить, является ли скалярное произведение его нормали с v <0 (не максимизировано). Это следует из того, что: </p>
dot(a, b) = |a| |b| cos(theta)
Где тета - это угол между ними. Это может быть отрицательным, только если они указывают в противоположных направлениях, что является необходимым и достаточным условием для того, чтобы лицо указывало на камеру, предполагая, что оно физически расположено перед камерой.