Борьба с порталами
Нашёл нормальный гайд более-менее, сделал - пока в "2д" (на плоском мониторе) - вроде все норм, при запуске на очках - дичь...
Полное впечатление, что попутан леыфй и правый глаз в портальной рамке, до полного счастья и́ их координаты уплыли....
Собственно краткая теория порталов (и зеркал) сводится к чему: берем проём, который окно портала, и тем или иным способом рисуем за ним то, что находится в другом месте, как если-бы игрок смотрел в реале из той-же точки позади портальной арки...
Условно говоря, вот портал 1 и портал 2.Мы стоим перед первым.
"Натягиваем" на проем экран и проецируем на него с камеры, которая позади портала 2 расположена там-же, где и мы сами были-бы, если относительно арки нас перенести туда.
В других вариантах реализации плюс-минус аеалогичная методика.
Ну и формулы там, в принципе, известны, на компе работает и все норм вроде как...
И тут вступает в дело шлем!
Тут надо понимать, что технологии шагнули вперед и стандарты появились...
Собственно дело в том, что хоть стерео картинка и получается с двух камер-глаз, но на практике с точки зрения стандартов - мы управляем только одной камерой-головой!!!
Почему? Разное межзрачковое расстояние, разная оптика в шлемах и сотни мелочей. В итоге чтобы не подгонять каждую прогу под сотни моделей - сделали именно так: мы говорим шлему, что голова вот тут в виртуальном пространстве и он относительно этой точки рисует отдельные картинки для глаз где-бы они не были и как-бы там не извращались...
В итоге все просто и все зашибись, а потом начинается вот эта вот фигня с проецированием... Итак, мы разместили виртуальную камеру где-то там, относительно порталов и той точки, где стоим мы сами, передали движку, что с этой камеры надо делать кадры и на вот этот экран проецировать будто все так и надо...
А дальше начинаются мелочи: одни шлемы делают отдельный рендеринг под каждый глаз - надо получить с двух виртуальных камер наши текстуры и каждому глазу натянуть свою. Если не сделать - портал будет виден только в одном глазу или будет "плоским", как на экране телевизора. Другие - делают "однопроходный" рендеринг: сразу на два глаза... И я фз куда они пихают текстуры двух глаз, но у меня именно эта ситуация...
В итоге сижу, пробую по разному... С переменным успехом и без надежды, что на другом шлеме будет аналогично работать....