Ответ 1
но я всегда ошибаюсь, поэтому мне нужно инвертировать положительный Y с отрицательным Y лицом. Почему?
А, да, это одна из самых странных вещей о Cube Maps. Будьте уверены, вы не единственный, кто может за это заплатить. Вы видите:
Cube Maps были указаны для соответствия спецификации RenderMan (по какой-либо причине), а RenderMan предполагает, что происхождение изображений находится в левом верхнем углу, в отличие от обычного поведения OpenGL, имеющего начало изображения в левом нижнем углу. Вот почему вещи меняются местами в направлении Y. Он полностью нарушает обычную семантику OpenGL и не имеет никакого смысла. Но теперь мы застряли с ним.
Обратите внимание, что верхний левый и нижний левые определяются в контексте преобразования идентичности из пространства модели в пространство NDC