*   >> Leitura Educação Artigos >> science >> programação

Conhecendo o motor Irrlicht 3D - Lighting

o download do demo e código fonte

Voltar ao Índice TUTORIAL

No último tutorial nós adicionamos um modelo 3D para a tela. No entanto, porque não havia luzes criadas, tivemos que desativar a iluminação no modelo completo, caso contrário ele teria aparecido preto. Neste tutorial, vamos adicionar uma luz para a cena

ApplicationManager.h /ApplicationManager.cpp

O ApplicationManager ganha duas novas variáveis:. Luz e um outdoor. A luz é um ponto na cena que é uma fonte de luz.

Ele não é directamente visível si - a luz só é visível sobre a superfície de um modelo 3D. Assim, podemos ver onde a luz é na cena vamos criar um quadro de avisos, que é um retângulo plano que sempre enfrenta a câmera, e anexar a luz como um filho do billboard.

Ao ligar a luz como uma criança do cartaz a luz irá se mover onde quer que os movimentos de outdoor. Esse tipo de apego mãe /filho é bastante comum em motores 3D, já que permite que um grupo de objetos a serem modificados de uma só vez.

Você pode usar isto para anexar uma espada de uma mão os jogadores por exemplo, e, em seguida, a espada iria ficar com o jogador enquanto se movia ao redor.

Na função de inicialização que fazer uma pequena modificação para a chamada para os addCameraSceneNodeFPS função. O modelo 3D ninja é muito pequena, ea câmera se move muito rápido em relação ao modelo. Então, aqui temos substituído alguns dos parâmetros padrão para retardar a câmera para baixo.

Nós adicionamos o modelo 3D ninja para a cena usando o mesmo código como no último tutorial.

A única diferença é que agora não desativar a iluminação.

Em seguida, criar um novo quadro de avisos chamando a função ISceneManager addBillboardSceneNode. Mais uma vez, substituir alguns dos parâmetros padrão para fazer o cartaz um pouco menor, e mais de acordo com o tamanho do modelo 3D ninja.

Nós chamamos a função setMaterialType e fornecer a bandeira EMT_TRANSPARENT_ADD_COLOR para indicar que as cores na textura atribuído ao cartaz vai ser adicionada à cena, a qual faz efectivamente as partes pretas da textura transparente.


A função setMaterialTexture é então usado para atribuir uma textura. O primeiro parâmetro define a camada de textura. Nós fornecemos a 0 porque estamos atribuindo esta como a primeira textura (e único). O segundo parâmetro é a própria textura, que neste caso é carregado a partir de um arquivo de bitmap.

A última coisa que devemos fazer é

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Leitura Educação Artigos,https://artigos.nmjjxx.com All rights reserved.