Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Um Pouco sobre Direct3D


~~Surfistinha~~
 Compartilhar

Posts Recomendados

O

É necessário se cadastrar para acessar o conteúdo.
, disponível no Channel9, é um aplicativo que identifica certas configurações gráficas de um device, tais como: DriverName, DriverVersion, etc.

 

Através destas informações você pode configurar uma aplicação 3D de acordo com as características do dispositivo. Por exemplo, se você identificar um driver Intel 2007G, uma boa opção é desabilitar as luzes, pois há uma queda de performance quando elas estão habilitadas com este processador.

 

Veja uma screenshot do programa rodando no emulador para Pocket PC + Windows Mobile 5.0 do Visual Studio 2005:

d3dmobiledoctor.jpg

O download do código fonte pode ser feito aqui:

É necessário se cadastrar para acessar o conteúdo.

 

 

MD3DM: Renderizando objetos texturizados

 

 

A renderização de objetos texturizados, penúltima etapa do meu TCC, é muito simples de ser executada no Managed Direct3D Mobile.

 

Basicamente o desenvolvedor deve se preocupar com o seguinte:

 

* Carregar todas as texturas necessárias dentro de uma lista ou array de objetos Texture;

* Definir a luz ambiente do Device;

* Definir a luz ambiente do objeto utilizando um material;

* Para cada objeto, definir a textura que o Device utilizará para desenhá-lo.

 

Com essa receita de bolo as coisas ficam mais fáceis. Quem dera eu tê-la a 8 horas atrás (é, feriado só existe pros amigos :().

 

Na prática, isso fica da seguinte maneira:

 

- Carregar as texturas

 

A partir de um array de nomes de arquivos (normalmente) basta utilizar o método FromFile da classe TextureLoader para carregar todas as texturas em um array ou lista de objetos Texture. Exemplo:

É necessário se cadastrar para acessar o conteúdo.

 

No exemplo acima só tenho um objeto e uma textura, por isso utilizei uma única variável.

 

- Definir a luz do ambiente e do objeto

 

Eu simplesmente esqueci disso por 8 horas. Passei todo este tempo removendo e adicionando código tentando fazer com que as texturas aparecessem. Nada!

 

Porém, vale a pena salientar um detalhe: as texturas eram renderizadas, só não estavam iluminadas. Logo, o que acontece se você entra com um papel preto numa sala escura? Não vê ele. O mesmo acontecia com as minhas texturas.

 

Para definir a luz ambiente do Device, faça o seguinte:

É necessário se cadastrar para acessar o conteúdo.

E a luz ambiente do objeto:

É necessário se cadastrar para acessar o conteúdo.

Definir a textura do objeto a ser desenhado

 

Esta é a parte mais fácil e óbvia. Sempre que o Device for desenhar os objetos, utilize o seguinte comando:

É necessário se cadastrar para acessar o conteúdo.

- Exemplo

 

Um trecho de código demonstrando todos os itens acima é apresentado abaixo:

É necessário se cadastrar para acessar o conteúdo.

É claro que o seu VertexBuffer deve possuir, além dos vértices e/ou normais, as coordenadas de textura (U e V).

 

Obrigado

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.