Я пытаюсь придумать общую концепцию переходов без необходимости включать какой-либо конкретный код в реальную сцену. Во всех примерах, которые я видел до сих пор, сцены сами справляются с этим. Например, постепенное появление / исчезновение, когда сцены должны настроить свой метод рисования для правильной прозрачности. Но это не только раздражало бы в каждой сцене, но и с несколькими видами переходов вы бы довольно быстро получили загроможденный код.
Так что я думал. Единственный способ, который я мог придумать для поддержки этого и более сложных переходов, не обрабатывая их в самой сцене, — это цели рендеринга для каждой сцены. Цель рендеринга будет установлена из диспетчера сцен перед вызовом метода рисования. После отрисовки цель рендеринга будет сброшена на цель рендеринга менеджера, а текстура сцены будет отрисована с информацией о текущем переходе. Без очистки текстуры менеджера последуют дополнительные сцены, если их нужно будет отрисовать. Таким образом, вы могли бы делать практически все (с точки зрения перехода), сцены были бы полностью независимы друг от друга, и вам не понадобилась бы ни одна строка кода перехода в реальных сценах. (Для справки, есть различные типы переходов, которые я хотел бы иметь. Не только затухание, но и шейдерные эффекты, перемещение одной сцены, в то время как текущая «отталкивается» и т. д., включая одну или несколько сцен. .)
Ну, это моя теория. Вот мой вопрос: звучит ли это как жизнеспособный план? Это путь? Я читал о проблемах с производительностью при слишком частом переключении целей рендеринга и других проблемах, что является основной причиной, по которой я не решаюсь реализовать это. Но до сих пор я не мог придумать или найти лучшего метода. Хотя я думаю, что это не должно иметь значения, на данный момент меня интересует только 2D (упомянул на всякий случай).