waruiyume 22 янв 2020, 14:14
1 Использовать кастомный шейдер который будет отсекать всё что находится с одной из сторон. Для отсечения можно передать Wold2Object матрицу объекта портала, умножать на неё мировую позицию объекта, и отсекать то, у чего знак положения не совпадает с нужным по выбранной оси.
2 Рисовать попавший в портал объект дважды, первый раз писать только в глубину и использовать подход из 1, только с инвертированным знаком. первый раз нужно рисовать после портала, но перед тем, что должно обрезаться. Возможно получится заюзать прожектор и не искать редереры в портале самому.
3 То же что и 2 только использовать стенсил буфер вместо записи в глубину, при этом нужно сконфигурировать стенсил тест у объектов в портале.