Aspeto 3D

Efeito da iluminação na perceção de um objeto
Iluminação

A luz é refletida segundo um certo ângulo tangente à superfície do objeto no ponto onde incide:

  • O ângulo é determinado pelas normais (que dependem da geometria do objeto).
  • As cores somam a cor própria do objeto à cor da luz incidente.
  • Os reflexos definem quanta luz incidente é refletida pelo objeto.

O aspeto percecionado de um objeto depende:

  • Da iluminação da cena.
  • Da textura desse objeto.

Parâmetros das texturas

As texturas (ou materiais) são propriedades do objeto que contribuem para a sua perceção e definem como o objeto é «pintado» e como transforma a luz.

  • Cores (difusão: diffuse)
    • São as cores próprias do objeto: luz refletida = cor do objeto + luz incidente.
    • Por exemplo, um cubo laranja difunde a cor laranja e um cubo verde difunde verde.
  • Reflexos (specular)
    • Determinam a quantidade de luz refletida: luz refletida = reflexo _ luz incidente.
    • Por exemplo, um cubo brilhante reflete quase toda a luz que recebe, enquanto que um cubo baço quase não reflete a luz que recebe.
  • Normais (normals)
    • Dependem da geometria do objeto e determinam a direção da luz refletida: ângulo da luz refletida = normal + ângulo da luz incidente.
    • Por exemplo, num cubo liso as normais são perpendiculares às faces mas num cubo rugoso as normais têm desvios da perpendicular.

Tipos de iluminação

A iluminação resulta de um conjunto de propriedades do modelo (da cena) que contribuem para a perceção dos vários objetos nesse modelo.

As fontes de Luz definem propriedades como «cor emitida», «atenuação», etc e, em geral, incluem os seguintes tipos:

  • Luz Ambiente
    • Incide igualmente em todos os objetos gráficos, independentemente da posição ou pose.
  • Ponto de Luz
    • Emite luz em todas as direções, a partir de uma certa posição.
    • Por exemplo, uma lâmpada numa sala.
  • Foco
    • Emite um cone de luz (com uma certa orientação) a partir de uma certa posição.
    • Por exemplo, um projetor numa secretária.
  • Direcional
    • Emite luz em «raios paralelos» a uma certa orientação.
    • Por exemplo, o sol a iluminar uma cena na superfície da terra.

Mapas de texturas

Não é viável definir-se ponto-a-ponto os parâmetros de textura numa geometria. Em vez disso, usam-se imagens especiais, os mapas de textura, para aplicar cores, reflexos e normais a uma geometria.

Vejamos o efeito que cada caraterística das texturas tem na perceção (e realismo) do objeto seguindo um exemplo: o planeta terra.

Modelo da terra: geometria

A geometria da terra é (aproximadamente) uma esfera, e vamos supor que na cena há um ponto de luz razoavelmente afastado, de forma a simular o sol.

Modelo da terra: difusão

A difusão define as cores «próprias» do objeto: luz refletida = cor do objeto + luz incidente.

Difusão da terra
Difusão da terra
Uma imagem com as cores da superfície da terra

Para pintar «num passo» todas as cores da superfície da esfera usa-se uma textura para a difusão das cores.

Modelo da terra: reflexos

Os reflexos determinam a quantidade de luz refletida: luz refletida = reflexo * luz incidente.

Reflexos da terra
Difusão da terra
Uma imagem com os reflexos da superfície da terra

Para pintar «num passo» todos os reflexos na superfície da esfera usa-se uma textura para a reflexão das cores.

Nestas texturas branco significa «reflete 100%», preto significa «reflete 0%» e tons intermédios refletem percentagens intermédias.

A principal diferença em relação aos mapas de difusão «simples» está nas zonas que devem brilhar. Por exemplo, nas zonas com água (rios, lagos, mares, oceanos) pode ver-se o reflexo do «sol» enquanto que nas zonas «de terra» não há grandes diferenças.

Modelo da terra: normais

As normais determinam a direção da luz refletida: ângulo da luz refletida = normal + ângulo da luz incidente.

Normais da terra
Difusão da terra
Uma imagem com as normais da superfície da terra

Para pintar «num passo» as normais à superfície da esfera usa-se uma textura para as normais.

Representação das normais por uma imagem

Uma normal é um vetor no espaço 3D e, como tal, tem três componentes, xyz.

Uma cor também tem três componentes, RGB, e nestes mapas uma cor RGB representa um vetor xyz associando: Rx, Gy, Bz.

Mapas UV

A aplicação de uma textura à geometria tem de ser controlada, de forma a aplicar as partes corretas da textura às faces da geometria. Esse controlo é definido por um mapa UV.

Aplicação «descontrolada»

Textura aplicada por faces

Aplicação das texturas por faces

Uma textura para um dado
Textura para um dado

As texturas definidas por imagens são uma forma conveniente de refinar o aspeto de um objeto gráfico.

Para funcionar corretamente, é preciso controlar como cada setor da textura é associado a cada face da geometria do objeto.

As coordenadas uv são usadas para posicionar os pontos da textura:

  • Usa-se «uv» em vez de «xy» para evitar confusões com as coordenadas xyz da geometria.
  • O referencial uv é adaptado de forma a que toda a imagem da textura fique no quadrado .
Pontos e setores de uma textura
Textura para um dado
Cada setor (amarelo) é definido por pontos uv (vermelhos)
O setor 4 é definido pelos pontos uv 4, 5, 10, e 9
O ponto 0 tem coordenadas uv ; O ponto 9 tem coordenadas uv

Especificamente:

  • Os vértices estão na geometria 3D
    • Têm coordenadas xyz.
  • As faces estão na geometria 3D
    • Definem-se com listas de índices de vértices.
  • Os pontos estão na textura 2D
    • Têm coordenadas uv.
  • Os setores são «pedaços» da textura 2D
    • Definem-se com listas de índices dos pontos.

A aplicação de mapas UV é adequado a geometrias definidas por conjunto de faces onde os vértices e as faces estão explicitamente indicados.

Processo para definir um mapa UV

O processo para ilustrar a aplicação dos mapas UV é o seguinte:

  1. Definir os vértices e a lista de faces da geometria 3D.
  2. Definir os pontos e a lista de setores da textura 2D.
  3. O primeiro setor é aplicado à primeira face, etc.

Regra da mão direita. Na definição dos setores, 7 8 3 2 não é o mesmo que 7 8 2 3.

Tem de usar a regra da mão direita para se determinar o lado da face como uma página numa folha de papel.