Aspeto 3D
Efeito da iluminação na perceção de um objeto |
---|
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.
- São as cores próprias do objeto:
- 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.
- Determinam a quantidade de luz refletida:
- 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.
- Dependem da geometria do objeto e determinam a direção da luz refletida:
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 |
---|
![]() |
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 |
---|
![]() |
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 |
---|
![]() |
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 corRGB
representa um vetorxyz
associando:R
→x
,G
→y
,B
→z
.
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 |
---|
![]() |
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 coordenadasxyz
da geometria. - O referencial
uv
é adaptado de forma a que toda a imagem da textura fique no quadrado .
Pontos e setores de uma textura |
---|
![]() |
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
.
- Têm coordenadas
- 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
.
- Têm coordenadas
- 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:
- Definir os vértices e a lista de faces da geometria 3D.
- Definir os pontos e a lista de setores da textura 2D.
- 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 que7 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.