MULTIPLE VIEWPORT
Multiple viewports são divisões da tela, onde cada divisão pode mostrar uma parte de um ambiente 3D ou mesmo pode mostrar um outro ambiente, ou seja, um outro Scene Manager.
Se o jogo a ser criado for um de corrida, seriam criadas duas câmera onde cada uma iria mostrar as imagens do carro de um jogador, para isso cada câmera iria ter uma porção da tela para mostrar suas imagens. A criação dessa divisão será mostrada logo abaixo.
Camera *camera2;
Primeiramente no arquivo "Inicializa.h", crie uma segunda câmera.
camera2 = scene_mgr->createCamera("PlayerCam2");
camera2->setNearClipDistance(5);
camera2->setPosition(750,75,750);
No método "Configura()", adicione a camera2 ao SceneManager para que possa ser usada. Coloque-a na posição sugerida no código acima, para que ela apareça na mesma posição da câmera já existente.
vp = window->addViewport(camera,0,0,0,1,0.5);
camera->setAspectRatio(Real(vp->getActualWidth()) / Real(vp->getActualHeight()));
vp = window->addViewport(camera2,1,0,0.5,1,0.5);
camera2->setAspectRatio(Real(vp->getActualWidth()) / Real(vp->getActualHeight()));
Depois de criadas as câmeras, vamos adicionar viewmports e anexa-los a uma câmera. Usamos a função "addViewport()" para acrescentar uma divisão a janela, onde o primeiro parâmetro é a câmera que o viewport irá mostrar as imagens.
O segundo é um valor inteiro que guarda a ordem de sobreposição dos viewports. No código acima, por exemplo, o viewport que mostrará o primeiro jogador está na posição 0(zero) e o que terá imagens do segundo jogador está na posição 1(um). Dessa forma a imagen do viewport da posição 0 ficará sobre a imagem do que está na posição 1, e esse ficará sobre a imagem do que está na posição 2 e assim sucessivamente. Podem ser utilizados valores negativos para a ordenação.
O terceiro e quarto parâmetros são a posição X e Y respectivamente, em que o viewport ficará na janela, esses valores vão determinar a localização do canto superior esquerdo dele. O valor a ser indicado é em porcentagem, de 0 à 1.
O tamanho do viewport em relação a janela são indicados nos quinto e sexto parâmetros, respectivamente nas direções X e Y, também em porcentagem. Execute o programa, aparecerá algo como a imagem abaixo.
Italo Mendes
italo.ribeiro@gmail.com
