Сообщение от pax
Многократное отражение будет автоматом, правда каждое следующее отражение будет с задержкой на один кадр. Это получается потому, что каждая камера рендерит рендертекстуру другой камеры и каждый кадр получается новое отражение.
|
В Xors3D была проблема в данном случае - т.к. лочилась текстура для рендера в неё, объекты на которые она была наложена текстура с них летела. Следственно для нормальной реализации такого зацикленного отражения, приходилось использовать две текстуры чередуя их одну за другой.
Посмотри как делается отражение от воды, там нужна вектор вертикально отразить камеры к воде. Тут также, только в данном случае вектор нужно отражать исходя из вектра направления самого портала.
Тоже самое относиться к объектам проходящим. Вычисляешь вектор между порталом и объектом, затем инвертируешь этот вектор - и вот тебе новая позиция относительно новому порталу. Не забудь что инвертированный вектор также нужно повернуть на вектор который есть разница между поворотами двух порталов.
Думаю это вся математика что нужна для порталов.
Да, и при рендере отражения, нужна ClipPlane для того чтобы отсечь всё что ближе чем портал, а то будут проблемы там..