Antes de chegar à minha pergunta, eu sei que a solução mais óbvia seria usar a porta de visualização normal ret, no entanto, preciso de formas mais complexas que um retângulo, e procurei usar a porta de visualização ret e parece não seja minha solução.
Edição: Algumas pessoas ficaram confusas com a minha pergunta, deixe-me entrar em um pouco mais de detalhes. O que está acontecendo é que, quando o jogador se move para um portal, eu crio um controlador FPS clone e o movo para fora do outro. Isso me dá duas câmeras e a visão que você vê à direita acima. Está apenas mostrando uma câmera e cortando o portal. O que eu quero é algo semelhante a issoonde as câmeras se misturam para criar a ilusão de uma transição suave. O que eu quero fazer é excluir tudo, desde a imagem do verificador verde à esquerda na imagem abaixo, e substituí-la pela outra câmera. Dessa forma, você obtém a parte da visualização da câmera A que está saindo do portal, combinada com a parte da visualização da câmera B que está saindo do outro portal, para obter uma imagem completa. E à medida que você se move pelo portal, o corte muda apropriadamente.
Estou desenvolvendo um sistema de portal, tenho tudo em ordem, incluindo fazer com que o player se mova suavemente pelo portal. Meu principal problema agora é obter o efeito de mistura da câmera que a Valve faz. Preciso de duas câmeras para combinar perfeitamente, como se você estivesse enfiando a cabeça no portal. E não pode ser apenas um retângulo, tem que corresponder no entanto, o jogador está olhando através do portal.
Minha melhor vantagem agora é projetar um shader de máscara de profundidade atrás de cada portal e transformar a câmera do portal em que você está viajando apenas em profundidade. Então, de alguma forma, misture as duas câmeras. Meu principal problema é descobrir exatamente como eu faria isso, como fazer a segunda câmera renderizar apenas o que está fora do portal e ter o restante como padrão na câmera 1 para obter uma projeção em tela cheia.
Se você puder me dar idéias, ou explicar como posso fazer isso com o shader de máscara de profundidade, seria uma tremenda ajuda. Vou continuar trabalhando nisso e atualizá-lo à medida que avançar.