departamento de engenharia informática ramo de

87
Instituto Superior de Engenharia do Porto Departamento de Engenharia Informática Ramo de Computadores e Sistemas “Rendering” Foto – Realístico Marisa Raquel Ferreira Gonçalves Porto 2003/2004

Upload: others

Post on 15-Oct-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Departamento de Engenharia Informática Ramo de

Instituto Superior de Engenharia do Porto

Departamento de Engenharia Informática Ramo de Computadores e Sistemas

“Rendering” Foto – Realístico

Marisa Raquel Ferreira Gonçalves

Porto 2003/2004

Page 2: Departamento de Engenharia Informática Ramo de

Instituto Superior de Engenharia do Porto Departamento de Engenharia Informática

Porto 2004

Este relatório pode ser impresso em qualquer formato para futura utilização

Page 3: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

1/85

Indice

Indice ......................................................................................................................... 1

Indice de Figuras ...................................................................................................... 7

Indice de Tabelas...................................................................................................... 8

Agradecimentos ....................................................................................................... 9

Prefácio ................................................................................................................... 11

Estrutura do Projecto............................................................................................. 13

Capítulo I. ................................................................................................................ 15

Introdução............................................................................................................... 15

I.1. O que é o “rendering” foto-realístico?......................................................... 15

I.2. O que é uma imagem digital? .................................................................... 16

I.3. O que é a Luz?........................................................................................... 17

I.4. O que é a iluminação global?..................................................................... 17

I.5. Quais as grandezas subjacentes? ............................................................. 18

I.5.1. Radiância................................................................................................ 18

I.5.2. Irradiância............................................................................................... 19

I.5.3. Radiosidade............................................................................................ 19

I.5.4. Intensidade ............................................................................................. 19

I.6. Fotometria .................................................................................................. 20

I.7. Interacção da Luz com as superfícies ........................................................ 20

Page 4: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

2/85

I.7.1. Absorção ................................................................................................ 21

I.7.2. Reflexão ................................................................................................. 21

I.7.2.1. Bidirectional Reflectance Distribution Function ................................... 23

I.7.3. Transmissão ........................................................................................... 24

I.8. Interacção da Luz com os volumes ............................................................ 24

I.8.1. Emissão.................................................................................................. 25

I.8.2. Absorção ................................................................................................ 25

I.8.3. Dispersão ............................................................................................... 26

I.9. Sumário...................................................................................................... 26

Capítulo II. ............................................................................................................... 27

Métodos Deterministicos e Estocásticos ............................................................. 27

II.1. Sombreado de Gouraud............................................................................. 27

II.2. Sombreado de Phong ................................................................................ 28

II.3. Método Anti –Aliasing................................................................................. 28

II.4. Métodos Deterministicos e Estocásticos .................................................... 29

II.4.1. Traçagem de Raios ................................................................................ 29

II.4.1.1. Como funciona a traçagem de raios? ................................................. 30

II.4.1.2. Vantagens e Desvantagens ................................................................ 30

II.4.1.3. Principais Aplicações .......................................................................... 31

II.4.1.4. Galeria de Imagens............................................................................. 31

II.4.2. Radiosidade............................................................................................ 32

II.4.2.1. Como funciona o método de radiosidade?.......................................... 33

II.4.2.2. Vantagens e Desvantagens ................................................................ 35

II.4.2.3. Principais Aplicações .......................................................................... 35

Page 5: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

3/85

II.4.2.4. Galeria de Imagens............................................................................. 35

II.4.3. Monte Carlo ............................................................................................ 36

II.4.3.1. Como funciona o método de Monte Carlo?......................................... 37

II.4.3.2. Vantagens e Desvantagens ................................................................ 37

II.4.3.3. Galeria de Imagens............................................................................. 38

II.5. Métodos Mistos (Híbridos) ......................................................................... 38

II.5.1. Mapeamento de Fotões (Photon Mapping) ............................................ 38

II.5.1.1. Como funciona o Photon Mapping? .................................................... 39

II.5.1.2. Vantagens e Desvantagens ................................................................ 40

II.5.1.3. Principais Aplicações .......................................................................... 40

II.5.1.4. Galeria de Imagens............................................................................. 41

II.5.2. Outros Métodos ...................................................................................... 42

II.6. Sumário...................................................................................................... 43

Capítulo III. .............................................................................................................. 45

Software .................................................................................................................. 45

III.1. Maya .......................................................................................................... 45

III.2. Photorealistic RenderMan (PRMan)........................................................... 48

III.2.1. RenderMan Interface .............................................................................. 48

III.2.2. Reyes Architecture ................................................................................. 49

III.3. Radiance .................................................................................................... 51

III.3.1. Arquitectura do Radiance ....................................................................... 52

III.4. POV-Ray .................................................................................................... 54

III.5. Mental Images............................................................................................ 56

III.5.1. Mental Ray ............................................................................................. 56

Page 6: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

4/85

III.5.2. Mental Matter.......................................................................................... 56

III.6. Sumário...................................................................................................... 57

Capítulo IV............................................................................................................... 59

Hardware ................................................................................................................. 59

IV.1. Silicon Graphics, Inc. .............................................................................. 59

IV.2. nVIDIA .................................................................................................... 60

IV.2.1. Quadro FX .............................................................................................. 60

IV.3. ATI .......................................................................................................... 61

IV.3.1. Fire GL.................................................................................................... 61

IV.4. ART VPS ................................................................................................ 63

IV.4.1. PURE e RenderDrive.............................................................................. 64

IV.5. Sumário .................................................................................................. 65

Capítulo V................................................................................................................ 67

Casos Práticos........................................................................................................ 67

V.1. Caso 1 - Modelação de um peixe foto-realista ........................................... 67

V.2. Caso 2 – Final Fantasy: The Spirits Within ................................................ 72

V.2.1. Software ................................................................................................. 73

V.2.2. Hardware ................................................................................................ 73

V.2.3. Estatísticas de Rendering....................................................................... 74

V.3. Caso 2 – Shrek & Shrek 2......................................................................... 76

V.3.1. Software ................................................................................................. 77

V.3.2. Hardware ................................................................................................ 77

V.3.3. Estatísticas de rendering (Shrek 2):........................................................ 78

V.4. Sumário...................................................................................................... 79

Page 7: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

5/85

Capítulo VI............................................................................................................... 81

Conclusão ............................................................................................................... 81

Referências Bibliográficas..................................................................................... 83

Page 8: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

6/85

Page 9: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

7/85

Indice de Figuras

Figura 1 - Espectro Electromagnético [4] .............................................................................................. 17 Figura 2 - Reflexão possível de uma fracção de luz [6] ........................................................................ 22 Figura 3 - Função de distribuição bidireccional de reflectância (BRDF) descreve a fracção de

radiância reflectida Lp, bem como da radiância incidente Li (irradiância) de direcção wi. .......... 22 Figura 4 - BRDF descreve a irradiância Li quando esta é a fracção de radiância de outra superfícies

que se encontra no ambiente envolvente ................................................................................... 23 Figura 5 - Possíveis interacções entre a luz e um meio participante.................................................... 25 Figura 6 - Imagem obtida pelo modelo de sombreado de Gouraud [13] .............................................. 27 Figura 7 - Imagem obtida pelo modelo de sombreado de Phong [13].................................................. 28 Figura 8 - Tratamento Anti-Aliasing [11]................................................................................................ 29 Figura 9 - Traçagem de Raios [9].......................................................................................................... 30 Figura 10 - Imagens obtidas pelo Método de Traçagem de Raios ....................................................... 32 Figura 11 - Factor de Forma [8] ............................................................................................................ 34 Figura 12 - Imagens obtidas pelo Método de Radiosidade................................................................... 36 Figura 13 - Imagem gerada apenas com recurso ao método de Monte Carlo, em [19] ....................... 38 Figura 14 - Do lado esquerdo temos uma imagem obtida através de traçagem de raios com

iluminação directa, reflexão especular e transmissão, do lado direito temos a estrutura de fotões correspondente [17] ......................................................................................................... 39

Figura 15 - O resultado de segundo passo do mapeamento de fotões em que do lado esquerdo foram utilizados cerca de 100 fotões por radiância e do lado direito cerca de 500 fotões [17] ............ 39

Figura 16 - Photon Mapping, [7] e[17]................................................................................................... 41 Figura 17 - Lightwave 3D ...................................................................................................................... 42 Figura 18 - Lightworks ........................................................................................................................... 42 Figura 19 - Algumas das imagens de filmes que foram criadas com o Maya [33] ............................... 47 Figura 20 - Interface do Maya 5.0 modelando uma imagem (esquerda) e Maya 6.0 efectuado um

“rendering” com transparências (direita [32]).............................................................................. 47 Figura 21 - Imagens geradas com o Maya [32]..................................................................................... 48 Figura 22 - Pipeline da arquitectura Reyes [34] .................................................................................... 49 Figura 23 - Imagem gerada no modelador Maya e o motor de “rendering” PRMan............................. 50 Figura 24 - Imagem gerada no modelador Maya com o motor de “rendering” PRMan ....................... 51 Figura 25 - Pipeline do Radiance [14] ................................................................................................... 52 Figura 26 - Estudo de luz no Hotel Sinova por Martin Moeck, Siemens Lighting [14] .......................... 54 Figura 27 - Imagens geradas pelo POV-Ray [26] ................................................................................. 55 Figura 28 – Imagens da Production Renault Design ............................................................................ 57 Figura 29 – “Rendering” realizado com o Mental Ray .......................................................................... 57 Figura 30 – Imagens do Star Wars: Episode II "Attack of the Clones" ................................................. 57

Page 10: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

8/85

Figura 31 – Onyx ................................................................................................................................... 60 Figura 32 - Octane................................................................................................................................. 60 Figura 33 - Imagem obtidas com a nVIDIA Quadro FX ........................................................................ 61 Figura 34 - Placas gráficas aceleradoras de ATI Fire GL[23] ............................................................... 62 Figura 35 - Imagens obtidas com a ATI Fire GL ................................................................................... 63 Figura 36 - Processador gráfico 3D da ART VPS, [22]......................................................................... 64 Figura 37 - Hardware da ART VPS para rendering foto-realístico........................................................ 64 Figura 38 - Imagem gerada com o software 3ds Max e o hardware da ART VPS ............................... 65 Figura 39 - Imagem gerada com o software Maya e o hardware da ART VPS.................................... 65 Figura 40 - Imagem real de um peixe ................................................................................................... 68 Figura 41 - Imagem em tons de cinzento.............................................................................................. 68 Figura 42 - Vista de X............................................................................................................................ 69 Figura 43 – Vista de Y........................................................................................................................... 69 Figura 44 – Vista de Z ........................................................................................................................... 69 Figura 45 - Modelo do peixe em malha de arame poligonal (final) ....................................................... 70 Figura 46 - Modelo do peixe com sombreado simples ......................................................................... 70 Figura 47 - Mapa de transparências do modelo do peixe..................................................................... 70 Figura 48 - Mapa de pontos especulares do modelo do peixe ............................................................. 71 Figura 49 - Mapa de altos do modelo do peixe..................................................................................... 71 Figura 50 - Imagem de um peixe gerada por computador.................................................................... 72 Figura 51 – Imagens retiradas do filme Final Fantasy: The Spirits Within............................................ 76 Figura 52 – Imagens retiradas do filmes Shrek e Shrek 2 .................................................................... 79

Indice de Tabelas Tabela 1– Equivalência entre unidades radiométricas e fotométricas [3]............................................. 20

Page 11: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

9/85

Agradecimentos

Aos meus pais Fernando e Maria Luisa pelo esforço que fizeram durante estes meus

anos de estudo, pela compreensão, estímulo e paciência.

Ao Ricardo, pela compreensão, paciência e o incentivo ao longo de todo o trabalho e

curso.

Ao Instituto Superior de Engenharia do Porto - ISEP, aos professores do Curso de

Engenharia Informática do Ramo de Computadores e Sistemas, pelo apoio,

incentivo e colaboração durante a fase do curso.

Ao professor orientador António C. Costa, Eng.º, pelo auxílio e orientação na

execução deste trabalho.

Obrigada

Page 12: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

10/85

Page 13: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

11/85

Prefácio

A criação de imagens difíceis de distinguir de fotografias fascina, desde há muito,

vários artistas. Enquanto que os problemas da perspectiva foram resolvidos há

várias décadas por Brunelleschi (Séc. XV) [1], a teoria para conseguir criar modelos

relacionados com os efeitos de iluminação só recentemente é que foram

alcançados. Por consequência, para conseguir uma imagem realista através da

computação gráfica eram necessários truques e heurísticas que permitissem obter

tais efeitos. Hoje em dia, torna-se cada vez mais difícil distinguir uma imagem real

de uma imagem foto-realista gerada por computador.

Tendo em vista o foto-realismo de uma imagem, é necessário levar em consideração

toda a física que nos envolve, desde os efeitos de visualização bem como da

iluminação que vai permitir realçar os aspectos físicos e realísticos para a obtenção

de uma boa imagem, a fim de se obter as chamadas imagens foto-físico-realistas.

As imagens foto-realistas são utilizadas nas mais diversas áreas tais como a

educação, ciências, medicina, engenharia e principalmente na área do

entretenimento (quem não gosta de filmes cheios de acção e de efeitos especiais,

ou até de um bom desenho animado de modo a que tudo seja um pouco mais

realista!).

Todos os aspectos relacionados com os modelos teóricos de iluminação numa cena

já foram estudados, desde as simulações dos processos físicos da transferência de

luz (através de um processo global em que todas as superfícies emitem e reflectem

alguma da luz da cena) até aos algoritmos que os permitem implementar.

Hoje em dia os modelos teóricos estão cada vez mais complexos de modo a permitir

melhores resultados na criação de imagens foto-realistas.

Page 14: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

12/85

Page 15: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

13/85

Estrutura do Projecto

O Capítulo I faz uma introdução ao conceito de “rendering” foto-realístico. Para tal,

aborda um pouco o que está por trás deste conceito, desde o que é uma imagem

digital, o que é a iluminação global, o que é a luz e todas as suas grandezas físicas

mais relevantes, isto para que se possa compreender os capítulos seguintes.

No Capítulo II efectua-se um estudo dos métodos utilizados no “rendering” foto-

realístico. Este estudo vai ser focado essencialmente nos métodos determinísticos

de traçagem de raios (ray tracing) e radiosidade (radiosity). Neste capítulo faz-se

também uma pequena passagem pelos métodos estocásticos, método de Monte

Carlo e método híbrido de mapeamento de fotões (photon mapping).

Uma explicação exaustiva sobre cada um dos métodos está fora do âmbito deste

trabalho, dado que o objectivo não é a análise detalhada da implementação de cada

um, mas sim o de saber para que servem e de que modos são utilizados.

No Capítulo III é mostrado algum do software utilizado nesta área, bem como

algumas das imagens que se podem obter com cada um do software apresentado.

O mesmo é realizado para o hardware no Capítulo IV.

No Capítulo V são mostrados alguns casos práticos do uso das aplicações referidas

nos capítulos anteriores. A ideia geral deste capítulo é dar a conhecer algumas das

métricas encontradas aquando da utilização destas plataformas.

Para finalizar, no Capítulo VI apresentam-se as conclusões retiradas deste trabalho,

bem como se faz uma pequena previsão sobre o futuro do “rendering” foto-realístico.

Page 16: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

14/85

Page 17: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

15/85

Capítulo I.

Introdução

O objectivo principal do “rendering” foto-realístico é descrever e armazenar num

dispositivo digital uma imagem que aparente ser realista em termos de percepção

humana. Para tal, o foto-realismo em imagens digitais é atingido através da

modelação do transporte de luz numa cena [2]. Ao longo deste capítulo será

esclarecido como é que se podem obter tais imagens e quais as principais

características e grandezas que lhe estão subjacentes.

I.1. O que é o “rendering” foto-realístico?

O processo de criação de imagens realistas comporta basicamente duas fases [3]. A

primeira fase é responsável pela computação da iluminação em toda a cena, sendo

a priori independente da criação da imagem em si. A segunda fase descreve o

processo de tornar uma iluminação virtual de uma cena numa imagem realística.

Nesta fase inclui-se a descrição da captura e mapeamento da iluminação global

numa imagem, dependendo assim da primeira fase.

Todo este processo depende do objectivo que se pretende atingir e pode então ser

chamado de realístico, foto-realístico, ou foto-físico-realístico. Contudo, o termo

“rendering” por si só é utilizado para referir todo o processo de criação de imagens

[3].

Page 18: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

16/85

I.2. O que é uma imagem digital?

Uma imagem digital pode ser definida por uma função bidimensional, da intensidade

de luz reflectida ou emitida por uma cena na forma I(x,y), onde os valores de I

representam a intensidade de luz no ponto (x,y). A intensidade é representada por

um valor finito, inteiro e não negativo.

Para gerar uma imagem foto-realista de elevada qualidade, temos que, de certo

modo, simular o sistema de visão humano, para que se consiga gerar tal imagem.

Para se conseguir realizar tarefas relevantes, em termos do sistema de visão

humana, é necessário compreender o mundo que nos rodeia. Uma das tarefas mais

importantes no processo de criação de uma imagem é a iluminação que incide sobre

um determinado objecto, pois é esta que faz com que aumente o realismo dessa

imagem.

Contudo, um estudo aprofundado sobre a iluminação daria por si só para outro

trabalho. De qualquer modo, não deixa de ser importante referir algumas das

grandezas que posteriormente serão necessárias para a compreensão do

desenvolvimento de uma imagem foto-realista.

Sendo a iluminação um dos pré-requisitos necessários para entender o que é o

“rendering” foto-realístico, é então necessário ter conhecimentos sobre a física que

está por trás destes fenómenos. É preciso saber o que é a luz e como é que se

consegue manusear e descrever a distribuição desta numa cena.

Outras perguntas que podem surgir são, por exemplo, como caracterizar a emissão

da luz gerada por uma fonte de luz, como descrever a reflexão da luz de uma

superfície, qual é a interacção da luz com o fumo ou o fogo ou qual a descrição

matemática da luz que melhor se adapta a uma cena tendo apenas em

consideração os aspectos que são mais importantes para efectuar o “rendering” [3].

Page 19: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

17/85

I.3. O que é a Luz?

Do ponto de vista físico, a luz é simplesmente uma forma especial de radiação

electromagnética, correspondendo a um intervalo desse espectro que se consegue

detectar a “olho nu”. Os olhos apenas são sensíveis à radiação electromagnética de

um espectro compreendido entre o ultravioleta e o infravermelho, logo para a

computação gráfica pode geralmente esquecer-se o resto do espectro

electromagnético.

Figura 1 - Espectro Electromagnético [4]

I.4. O que é a iluminação global?

Quando a luz incide sobre uma cena, esta fica iluminada. Para se melhor

compreender o conceito de iluminação global numa imagem, é necessário distinguir

entre iluminação directa e indirecta [6].

Um objecto diz-se que possui iluminação directa quando uma fonte de luz ilumina o

objecto sem que interaja com nenhum outro objecto que se encontre no meio

envolvente (por exemplo, um objecto iluminado directamente por uma lanterna). Este

tipo de iluminação é também chamado de iluminação local.

Por iluminação indirecta designa-se toda a luz que antes de chegar a um objecto,

interage com os outros objectos existentes no meio ambiente.

Page 20: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

18/85

I.5. Quais as grandezas subjacentes?

Tal como todos os fenómenos físicos existentes, a luz tem que ser medida de

alguma forma. Assim sendo, estas medidas ou métricas não podem ser esquecidas

aquando da elaboração de uma imagem foto-realista. Para se conseguir obter uma

imagem realista são necessários muitos outros factores físicos, mas os mais

importantes estão relacionados com as propriedades da luz quando esta interage

com o meio ambiente, com as superfícies e com os volumes.

I.5.1. Radiância

A radiometria é a ciência que permite medir fisicamente a quantidade

electromagnética da radiância [3]. Tem como objectivo medir a quantidade de luz em

cada comprimento de onda e o fluxo de luz no ambiente. A quantidade fundamental

da radiometria é a radiância (brilho).

A radiância, cuja unidade é [ ]2.msrwL , descreve a quantidade de energia luminosa

com uma dada frequência ν que é enviada de um ponto y para uma direcção

especifica ωr , por unidade de tempo. A radiância é dada por:

( )νω,,r

yL

Dado que a quantidade de luz recebida pela retina do olho humano é proporcional á

radiância emitida pela superfície visualizada, isto faz com que a radiância seja uma

das grandezas mais importantes para a iluminação computacional num sistema de

“rendering” [3].

Page 21: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

19/85

I.5.2. Irradiância

Em vez de uma descrição completa da distribuição direccional da radiância que

actua numa superfície, por vezes é necessário saber a energia total recebida por

área de superfície. Esta quantidade de energia é chamada de irradiância, cuja

unidade é [ ]2E mw e descreve a radiância incidente iL sobre o hemisfério

+Ω no

ponto y , em que ynr é a normal á superfície no ponto y e é dada por:

( ) ( )∫+Ω

= ωωrrr dnyLyE yi ,

I.5.3. Radiosidade

Dado que a irradiância é a energia que entra na superfície, por vezes é necessário

também saber qual a quantidade de energia total que sai por área de superfície.

Esta quantidade é chamada de Radiosidade, cuja unidade é [ ]2mwB e é definida pela

radiância L que sai pelo ponto y , sendo da forma:

( ) ( )∫+Ω

= ωωrrr dnyLyB y,

I.5.4. Intensidade

A radiância descreve a quantidade de energia que é enviada para o ponto y , sendo

também necessário saber a quantidade de energia que sai do ponto y , e com isto

temos a intensidade, de unidade [ ]2mwI é definida por:

Page 22: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

20/85

( ) ( )ωωω

dydyIr

r ,, Φ=

I.6. Fotometria

A radiometria trata somente das quantidades que podem ser medidas em unidades

do sistema internacional (SI). Por outro lado, a reacção do sistema de visão humano

á radiação (luz) varia conforme o comprimento de onda. A fotometria é a ciência que

trata da percepção psico-física da luz.

Dado que o olho humano tem sensibilidades diferentes para radiações de diferentes

frequências, torna-se necessário relacionar as quantidades anteriores com as

quantidades fotométricas equivalentes. A tabela 1.1 sumariza a correspondência

entre quantidades e unidades radiométricas e fotométricas.

Radiométrica Fotométrica Quantidade Física Nome Unidades Nome Unidades

Energia Energia Radiantejoule

[ ]22.. −= smKgJ Energia Luminosa Talbot

Fluxo (Potência) Potência RadianteWatt

[ ]1. −= sJW Potência Luminosa Lumen

[ ]1. −= stalbotlm Densidade Angular

do Fluxo Radiância [ ]22.. −− srmW Luminância Nit [ ]12 .. −− srmlm

Irradiância [ ]2. −mW Iluminância Lux [ ]2. −mlm

Radiosidade [ ]2. −mW Luminosidade Lux [ ]2. −mlm Densidade de Fluxo

Intensidade [ ]1. −srW Intensidade Luminosa Candela [ ]1. −srlm

Tabela 1– Equivalência entre unidades radiométricas e fotométricas [3]

I.7. Interacção da Luz com as superfícies

A interacção da luz com as superfícies é bastante complexa. Assim sendo, apenas

se farão referência aos principais efeitos macroscópicos.

Page 23: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

21/85

Existem três efeitos básicos que podem acontecer quando a radiância “viaja” de um

ponto x até ao ponto y , no qual atinge uma superfície: absorção, reflexão e

transmissão.

I.7.1. Absorção

A absorção da luz pode ser simplesmente descrita pelo factor de absorção ( )νωα ,, ry ,

que descreve a radiância incidente com uma frequência ν no ponto y com a

direcção ωr que é absorvida pela superfície.

Para a maioria das superfícies, a energia de luz absorvida é transformada em calor,

mas, por vezes, pode sair novamente, podendo ser reemitida noutro comprimento de

onda, sendo necessário ter em consideração o espectro de infravermelhos que inclui

a radiação de calor.

Como estes efeitos são raramente importantes para o “rendering” foto-realístico e

como são computacionalmente complicados, são geralmente ignorados.

I.7.2. Reflexão

A aparência visual da maioria das superfícies depende essencialmente das suas

propriedades de reflexão. Isto acontece porque alguns materiais, quando iluminados,

não emitem luz. O que se vê é a luz que foi reflectida dessa mesma superfície,

podendo assim, a mesma superfície, parecer diferente conforme diferentes

direcções de luz.

Os detalhes do processo físico da reflexão da luz numa superfície podem ser

complicados, pois a mesma superfície pode ser constituída por mais do que um

material e a reflexão apenas ocorre num limite entre os dois materiais (geralmente

com índices de refracção diferentes). A fracção de luz que é reflectida e que não

entra no material depende do ângulo de incidência da luz, da sua frequência e das

Page 24: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

22/85

propriedades do mesmo. Isto pode tornar-se ainda mais complicado se se

considerar que a fracção de luz que entra no material pode ser novamente reflectida

por outras superfícies e deixar este por outro ponto que não o ponto de entrada [6].

Figura 2 - Reflexão possível de uma fracção de luz [6]

De modo a simplificar toda esta a descrição do processo de reflexão, assume-se que

as propriedades de reflexão de uma superfície são descritas por uma única função

rf – a função de distribuição bidireccional de reflectância, mais conhecida por

BRDF.

Figura 3 - Função de distribuição bidireccional de reflectância (BRDF) descreve a fracção de radiância reflectida Lp, bem como da radiância incidente Li (irradiância) de direcção wi.

Page 25: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

23/85

Figura 4 - BRDF descreve a irradiância Li quando esta é a fracção de radiância de outra superfícies que se encontra no ambiente envolvente

I.7.2.1. Bidirectional Reflectance Distribution Function

O BRDF descreve a relação entre a radiância reflectida L com direcção ωr e o

diferencial de irradiância E que chega ao ponto y com a direcção iωr [5] . Sendo

assim o BRDF é dado por:

ELBRDF =

Considerando a Figura 3, a quantidade de luz que chega de iωr é proporcional á

quantidade de luz que chega a idωr em que a irradiância é iL , logo o total de luz que

chega dessa região idωr é dada por iiL θcos como o yi nrr *cos ωθ = , logo o BRDF é

dado por:

( ) ( )( ) iyii

ir dnyLyLyf

ωωωωω rrr

rrr

,,,, =

Page 26: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

24/85

I.7.3. Transmissão

A transmissão (ou refracção) é o processo pelo qual uma fracção de luz incidente

numa superfície passa pelos seus materiais. A noção apresentada pelo BRDF pode

ser extendida para a refracção de luz pelos mesmos motivos, mas neste caso temos

a função de distribuição bidireccional de transmitância, mais conhecida por BTDF.

Segundo alguns autores [3], [5] e [6], estas duas funções podem ser combinadas

numa só, que tem como nome “função de distribuição bidireccional de superfícies –

dispersantes” (bidirectional surface-scattering distribution function), isto é BSSDF ou

simplesmente BDF.

O BDF pode ser expresso como sendo a relação entre a radiância L propagada no

ponto y da superfície com a direcção ωr , com a irradiância iL no ponto y com

direcção iωr e o valor absoluto do coseno da equação de BRDF.

( ) ( )( ) iyii

irt dnyLyLyf

ωωωωω rrr

rrr

,,,, =

I.8. Interacção da Luz com os volumes

A maior parte da luz que interage com o ar pode ser descartada, havendo porém

alguns casos em que a sua interacção é significativa (é o caso do fumo, das chamas

e até das nuvens – estas situações têm o nome de meio participante (participating

media) [3]).

Existem três interacções possíveis que podem ocorrer quando a luz passa sobre um

meio participante: emissão, absorção e dispersão.

Page 27: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

25/85

Figura 5 - Possíveis interacções entre a luz e um meio participante

I.8.1. Emissão

As emissões de radiações sobre o material podem ser descritas como ( )νω,, ryq , que

é dado pela radiação emitida no ponto y com a direcção ωr . Na prática, muitos

destes materiais são emissores isotrópicos, isto é, o resultado da emissão é

independente da direcção de saída ωr .

I.8.2. Absorção

Na perda de radiação quando a luz passa dentro de um meio participante podem

surgir dois efeitos: o de absorção ou o de saída - dispersa (out-scattering).

Quando é absorvida, a energia da luz é transformada em calor, o que faz com que

não seja mais considerada. A fracção de radiância absorvida é geralmente dada

pela função de posicionamento, direcção de radiação e pela sua frequência.

Page 28: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

26/85

A absorção é dada por ( )νω,, ryk e descreve a fracção de radiância perdida pela

distância percorrida até ao meio participante. Tal como na emissão, aqui também

temos geralmente absorção isotrópica.

I.8.3. Dispersão

A dispersão descreve a radiação que se espalha para outras direcções, que não as

consideradas anteriormente, reduzindo assim a quantidade de radiação que deveria

incidir na direcção prevista. A dispersão, por sua vez, pode ser considerada como

elástica ou não elástica. É elástica quando a frequência da radiância não se altera e

não elástica quando parte da energia é absorvida pela matéria e a frequência da

mesma se altera. A dispersão é dada por ( )νωσ ,, ry .

I.9. Sumário

Este capítulo serviu para se fazer uma introdução aos conceitos físicos inerentes á

criação de imagens foto-realistas. Como se pode constatar os métodos de

modelação da luz podem tornar-se bastante complexos e de difícil implementação

em termos computacionais.

Por não ser relevante para este trabalho um estudo aprofundado dos termos

apresentados neste capítulo, as equações dadas são incluídas a titulo meramente

informativo, não sendo abordados os factores matemáticos, o que levaria a aspectos

complexos e desnecessários.

Contudo, não se pode esquecer que o comprimento de onda vai ser discretizado em

várias cores (por exemplo, RGB), o que significa que as equações devem ser

determinadas separadamente para cada cor, o que torna os cálculos mais

complexos.

Page 29: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

27/85

Capítulo II.

Métodos Deterministicos e Estocásticos

A simulação dos processos físicos da transferência de luz numa cena é bastante

árduo, dado que é um processo global em que todas as superfícies e volumes

participam emitindo, dispersando, ou reflectindo alguma da luz de e para a cena.

Visto isto, é necessário arranjar implementações computacionais das funções

descritas no capítulo anterior que efectuem tais cálculos em tempo útil. Para tal foi

necessário arranjar maneiras de se acelerar os processos de cálculo utilizados.

II.1. Sombreado de Gouraud

Tudo começou, quando Henry Gouraud desenvolveu um modelo cujo objectivo é

encontrar o vector normal de cada vértice duma face e assim calcular a cor do pixel

efectuando a interpolação linear dessa cor na respectiva face [13]. Este modelo ficou

conhecido como modelo de Gouraud. O resultado é uma superfície regularmente

sombreada, mas cujo cálculo consome uma grande quantidade de processamento e

no ponto de interpolação aparece um artefacto de iluminação (“estrela”).

Figura 6 - Imagem obtida pelo modelo de sombreado de Gouraud [13]

Page 30: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

28/85

II.2. Sombreado de Phong

Um pesquisador de nome Phong Bui-Tuong expandiu o conceito do modelo de

sombreado de Gouraud. Em vez de usar a normal apenas nos vértices, o que o

modelo de sombreado de Phong faz é calcular a normal em todos os pixeis, obtendo

assim uma superfície sombreada mais suave, mas em contrapartida é mais lento.

Figura 7 - Imagem obtida pelo modelo de sombreado de Phong [13]

II.3. Método Anti –Aliasing

Tendo por objectivo “suavizar as arestas” de uma imagem, o anti-aliasing é um

método que permite fazer com que uma imagem pareça mais realista [11], isto

porque a tela de um monitor é constituída por pixeis que são quadrados, o que faz

com que as linhas e as curvas possuam uma silhueta em “escada”. Na Figura 8,

pode-se observar que, colocando uma rede em cima de um círculo, obtém-se o

mesmo efeito que surge num monitor (efeito de aliasing).

Este efeito é susceptível de ser minimizado. Para tal, o anti-aliasing usa os pontos

(pixeis) das extremidades dos objectos, para os quais são enviados raios, cuja

intensidade é comparada com os seus raios adjacentes, efectuando-se depois uma

média para se encontrar a cor que seria a esperada na vizinhança desses pontos.

Page 31: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

29/85

Figura 8 - Tratamento Anti-Aliasing [11]

II.4. Métodos Deterministicos e Estocásticos

Apesar dos resultados obtidos, estes modelos estão longe de conseguir representar

imagens com base na iluminação global, pois é esta a responsável pela obtenção de

verdadeiras imagens foto-realistas. Com isto relacionam-se os métodos

deterministicos e estocásticos.

Os métodos deterministicos são todos aqueles que, quando são executados,

produzem sempre o mesmo resultado. Os mais importantes são a traçagem de raios

(ray tracing) e a radiosidade (radiosity). Os métodos estocásticos são aqueles

métodos que, para os mesmos dados de entrada, produzem resultados “diferentes”.

Estes métodos podem também ser chamados de Monte Carlo, segundo [14].

II.4.1. Traçagem de Raios

O primeiro método criado para resolver este problema foi a traçagem de raios, sendo

inicialmente criado como um método para calcular a iluminação global [7]. A sua

primeira implementação foi efectuada pela IBM em 1968, por Appel, o qual publicou

o documento Some Techniques for Shading Machine Renderings of Solids, não

existindo, na altura, computador capaz de o utilizar. Foi apenas em 1980 que Turner

Whitted publicou o artigo An Improved Illumination Model for Shaded Display, que

Page 32: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

30/85

descrevia o algoritmo de traçagem de raios como sendo um algoritmo capaz de

efectuar sombras, reflexões e refracções. O método referido era bastante simples,

podendo ser descrito com apenas três funções, sendo por esta razão a base de

muitos pacotes de “rendering” comerciais.

II.4.1.1. Como funciona a traçagem de raios?

A traçagem de raios funciona através da “traçagem de um raio” desde o “olho” até à

cena, em que pode sair de cena ou atingir um objecto. Se o raio alcançar um

objecto, são enviados outros raios a partir da superfície até estes alcançarem outra

superfície ou atingirem uma fonte de luz. Se a superfície for transparente, um raio é

transmitido por dentro desse objecto numa direcção que é determinada em termos

de refracção. Apesar de todos os benefícios decorrentes, este não é um método

perfeito.

Figura 9 - Traçagem de Raios [9]

II.4.1.2. Vantagens e Desvantagens

Page 33: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

31/85

Uma das particularidades da traçagem de raios é que tende a produzir imagens que

parecem demasiado brilhantes e polidas. Em termos teóricos, o que acontece é que

a traçagem de raios envolve a simulação da distribuição dos raios de luz de um

único ponto de vista tridimensional (câmara pontual) para todos os pixeis do écran e

depende da informação guardada no objecto de intersecção antes de efectuar o

“rendering”.

Contudo, o facto do “rendering” através da traçagem de raios de uma cena ser

baseada na localização dos objectos faz com que seja um algoritmo dependente da

visualização. Assim sendo, mudando a posição de visualização é necessário refazer

todo o “rendering” da cena, sendo por isso um algoritmo de iluminação local ou

directa [8]. Outro dos problemas associados à traçagem de raios é o efeito aliasing.

II.4.1.3. Principais Aplicações As imagens geradas pela traçagem de raios podem ser encontradas em estudos de

simulação, na medicina em tratamentos radioactivos, na engenharia mecânica, mas

encontram-se principalmente na industria publicitária e do entretenimento, como é o

caso do Toy Story da Pixar, sendo este o primeiro filme (longa metragem) de

animação a ser gerado integralmente com base num algoritmo de “rendering” [11].

II.4.1.4. Galeria de Imagens

As imagens que se seguem foram retiradas de [7], [8] e[9] :

Page 34: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

32/85

Figura 10 - Imagens obtidas pelo Método de Traçagem de Raios

II.4.2. Radiosidade

Em 1984, a radiosidade foi introduzida na computação gráfica por um grupo de

investigadores da Universidade de Cornell, quando escreveram um artigo que se

intitulava Modeling de Interaction of Ligth Between Diffuse Surfaces.

A radiosidade baseia-se nos princípios de transferência de radiação de calor,

utilizados para calcular a troca de calor entre superfícies, isto é, preocupa-se com o

cálculo da taxa de energia total que é libertada pelas superfícies, ou seja, a

Page 35: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

33/85

quantidade de radiosidade baseada nas propriedades de emissão de energia e na

reflexão da superfície.

A radiosidade trata de uma cena dividindo-a geometricamente num conjunto de

“bocados” (sub patches) [7]. Em cada um utilizam-se equações lineares de modo a

calcular-se como a luz “viaja” entre cada par de bocados. Pelo facto da radiosidade

necessitar de dividir a cena em pequenos pedaços, este método é muito pesado em

termos de recursos de processamento.

II.4.2.1. Como funciona o método de radiosidade?

Segundo os autores de [8], [15] e [16], o método de radiosidade calcula a quantidade

de luz reflectida de uma superfície difusa, pois o método baseia-se no principio de

que todas as superfícies são perfeitamente difusas, daí que a superfície reflectora

deve ser afectada pela quantidade de luz incidente que chega a essa superfície

vinda de outra existente no meio envolvente.

jjjj HEB ρ+=

Com isto temos que B é a radiosidade, E a energia emitida, ρ a superfície

reflectora e H a energia de luz incidente que chega a essa superfície. Dado que a

energia de luz incidente num bocado j é dependente da geometria de todos os

outros bocados i que o rodeiam, a quantidade de energia que sai do bocado j e

chega até ao bocado i chama-se factor de forma (form factor).

Page 36: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

34/85

Figura 11 - Factor de Forma [8]

O factor de forma é dependente da forma, tamanho, posição e orientação de uma

superfície numa cena. Logo a equação anterior pode ter a seguinte forma:

ij

N

iijjj FBEB ∑

=

+=1

ρ

Como esta equação vai existir para todos os bocados existentes numa cena, logo

vamos ter n equações, o que resulta no seguinte sistema de equações:

Com este sistema é possível calcular-se a radiosidade de todos os bocados. Como

existem vários canais de cores nas imagens, resolve-se sistema de equações várias

vezes, em que, em cada vez, é necessário saber os valores de reflexão e emissão

para cada canal de cor (por exemplo, RGB).

Page 37: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

35/85

Uma vez terminado, a cena pode ser visualizada a partir de qualquer ponto sem que

seja necessário efectuar novamente todos os cálculos, como acontece com a

traçagem de raios.

II.4.2.2. Vantagens e Desvantagens

O método de radiosidade, apesar de poder visualizar uma cena de qualquer ponto

sem que seja necessário refazer os cálculos, não permite efectuar dinamicamente

alterações à geometria da cena.

E tal como a Traçagem de Raios, apenas resolve parte dos problemas da iluminação

global, pois não têm em consideração efeitos como a absorção, reflexões

especulares e transmissão. Note-se que a traçagem de raios é bem sucedida nestas

tarefas.

II.4.2.3. Principais Aplicações

Uma das principais áreas de aplicação da radiosidade é a arquitectura e o design de

interiores. Contudo, em alguns jogos, utiliza-se o método de radiosidade para fins

gráficos [8].

II.4.2.4. Galeria de Imagens

As imagens que se seguem foram retiradas de [7], [8], [9] e [16].

Page 38: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

36/85

Figura 12 - Imagens obtidas pelo Método de Radiosidade

II.4.3. Monte Carlo

A maior parte dos métodos de iluminação global têm uma melhor performance

quando se refere a iluminação directa, pois quando se trata de iluminação indirecta

numa cena estes métodos necessitam de muitos mais recursos, não sendo por isso

tão eficientes [18] .

Para gerar uma imagem baseada na distribuição da energia radiante é necessário

resolver um problema de integração, em que o integrando é normalmente uma

função descontínua de elevada dimensão. Para o resolver, pode recorrer-se ao

método de Monte Carlo, bastante utilizado em termos de integração numérica.

Page 39: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

37/85

II.4.3.1. Como funciona o método de Monte Carlo?

Contudo, a ideia do método de Monte Carlo é de para resolver o integral da forma

( )∫= dxxfI este pode ter em consideração a aproximação de um grande número de

pontos amostrais do integrando seguinte, [3]:

( ) ( )( )∫ ∑

Ω =∞→

==N

i i

i

N pf

NdxxfI

1

1limξξ

em que a amostra iξ se baseia na distribuição da função densidade de

probabilidade )(xp , que nos diz que se ∫ =≥ 1)(,0)( xpxp .

Além disso, a função densidade de probabilidade não pode ser zero dentro do

domínio de integração Ω em que )(xf é diferente de zero. Segundo a Lei dos

Números Grandes, a probabilidade de que a aproximação seja igual ao valor exacto

do integral converge para um para valores muito grandes de N.

,1)()(1

1→⎟

⎟⎠

⎞⎜⎜⎝

⎛<−∑

=

εξξ

Ipf

Np

N

i i

ipara ∞→> N,0ε

II.4.3.2. Vantagens e Desvantagens

Os desempenhos obtidos pelo método de Monte Carlo são conhecidos por serem

ineficientes e de elevado custo computacional, devido ao grande número de

amostras necessárias [3].

Page 40: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

38/85

Contudo, o método de Monte Carlo é uma boa escolha para cenas extremamente

grandes, complexas e com muita pouca coerência. Devido ao seu desempenho

computacional, as imagens produzidas por este tendem a ter algum ruído visível.

II.4.3.3. Galeria de Imagens

Figura 13 - Imagem gerada apenas com recurso ao método de Monte Carlo, em [19]

II.5. Métodos Mistos (Híbridos)

Contudo, existem alguns aspectos que os métodos determinísticos e estocástico não

conseguem lidar, surgindo assim os métodos mistos, que tentam aproveitar o melhor

de cada um e com a implementação de novos métodos conseguir assim efeitos

realísticos que até então eram difíceis de ser obtidos.

II.5.1. Mapeamento de Fotões (Photon Mapping)

O método de mapeamento de fotões para a iluminação global foi desenvolvido entre

1993 e 1994 e o primeiro artigo a ser publicado sobre o método foi em 1995 [17].

É um método versátil, capaz de simular a iluminação global em objectos difusos e

com meio participante numa cena complexa. Proporciona a mesma flexibilidade que

o método de Monte Carlo, mas com um menor tempo de computação, sendo o mais

recente método de “rendering” [7] em utilização generalizada.

Page 41: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

39/85

II.5.1.1. Como funciona o Photon Mapping?

O mapeamento de fotões é um método que pode ser efectuado em dois fases [17].

A primeira fase é construir uma estrutura de fotões que permite a emissão de um

fotão de uma fonte de luz numa cena e armazenando o resultado obtido nessa

mesma estrutura quando este atingir uma objecto (ou superfície) não especular.

A segunda fase é a chamada fase de “rendering”, que utiliza técnicas estatísticas

sobre a estrutura de fotões para extrair a informação sobre o fluxo e a radiância

reflectida em qualquer ponto da cena.

Figura 14 - Do lado esquerdo temos uma imagem obtida através de traçagem de raios com iluminação directa, reflexão especular e transmissão, do lado direito temos a estrutura de fotões correspondente [17]

Figura 15 - O resultado de segundo passo do mapeamento de fotões em que do lado esquerdo foram utilizados cerca de 100 fotões por radiância e do lado direito cerca de 500 fotões [17]

Page 42: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

40/85

O sucesso deste método é que trata uma cena muito para além da sua

representação geométrica, conseguindo assim simular a iluminação global em cenas

complexas.

II.5.1.2. Vantagens e Desvantagens

Com o mapeamento do fotões é possível obter reflexões e efeitos denominados de

cáusticos1 em superfícies difusas, sendo ambos de iluminação indirecta. Utilizando a

traçagem de raios juntamente com o mapeamento de fotões, obtemos um método

capaz de simular eficazmente todo o tipo de luz directa ou indirecta. Ainda para mais

este método consegue tratar meios participantes sem grandes problemas.

Comparando-o com o método de radiosidade, este é mais rápido que o de

mapeamento de fotões para cenas simples, mas para cenas mais complexas, o

mapeamento de fotões é mais eficaz e flexível, visto que também consegue lidar

com superfícies não difusas.

A vantagem principal do método de mapeamento de fotões é a sua eficiência, sendo

na maior parte dos casos mais rápidos e produzindo melhores resultados que o

método de Monte Carlo.

II.5.1.3. Principais Aplicações

O mapeamento de fotões não está patenteado, o que faz com que esteja disponível

na internet. É também possível encontrar extensões do mapeamento de fotões nos

seguintes softwares: POV-RAY, Blue Moon Rendering Tools – RenderMan. Algumas

empresas, tais como a Integra e a SotfImage, utilizam-no nos seus sistemas [17].

1 Efeitos cauticos são aqueles que são causados pela luz que foi reflectida, refraccionada ou focada através de outros materiais. O resultado é um ponto ou uma banda de luz na superfície que a recebe [20]. (ver Figura 16)

Page 43: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

41/85

II.5.1.4. Galeria de Imagens

Figura 16 - Photon Mapping, [7] e[17]

Page 44: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

42/85

II.5.2. Outros Métodos

A sequência de imagens que se segue podem ser encontrados nos sites das

respectivas empresas e foram obtidas através da implementação de outros métodos

mistos, por vezes sobrepondo alguns dos métodos referidos neste capítulo.

Figura 17 - Lightwave 3D

Figura 18 - Lightworks

Page 45: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

43/85

II.6. Sumário

Todos os métodos aqui abordados são os principais métodos usados para efectuar o

“rendering” de uma cena com vista a obter-se uma imagem foto-realista. Fazendo

referência ao modo como surgiram e qual foi a sua primeira aplicação.

Contudo, mais haveria para dizer sobre os métodos determinísticos, estocásticos e

mistos, pois para cada um existem variadas implementações, principalmente no

caso do método de traçagem de raios. Como sendo o primeiro, serve de base a

muitos outros.

Todos os métodos podem ser computacionalmente distribuídos. O método de Monte

Carlo é aplicado nas mais diversas áreas visto ser um método probabilístico [10].

Page 46: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

44/85

Page 47: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

45/85

Capítulo III.

Software

Para gerar uma imagem foto-realista é necessário descrever, em formatos

predefinidos, toda a cena com o maior detalhe possível. Para isso são utilizadas

aplicações denominadas modeladores. Após descrição da cena, usam-se motores

de “rendering” para “colori-la”, de modo a que se obtenha uma imagem foto-realista.

Apesar de serem dois tipos de aplicação bastante distintos, normalmente vêm juntos

numa mesma plataforma. Neste capítulo existem implementações dos dois tipos.

O Maya é uma plataforma na qual se podem encontrar as duas aplicações,

enquanto que o Photorealistic RenderMan, Radiance, POV-Ray e Mental Ray são o

que se considera de motores de “rendering”.

III.1. Maya

Há mais de 20 anos que a Alias é líder na inovação tecnológica de produção de

gráficos 3D. Hoje em dia é possível encontrar soluções que utilizam o software da

Alias em quase todos filmes, jogos de vídeo e muito mais.

Sendo a sua principal ferramenta o Maya, possui ainda outras aplicações gráficas

que incluem o estúdio de visualização de desenho StudioTools e também o Alias

SketchBook Pro.

O Maya é uma plataforma que, entre outras coisas, permite adicionar realismo a

imagens e projectos 2D, criar páginas de internet com efeitos visuais e animados,

realizar modelos de visualização em revistas, jornais, desenhos industriais, de

arquitectura e adicionar-lhes efeitos 3D e animações.

Page 48: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

46/85

Com o Maya é possível efectuar tratamentos 3D, animações e efeitos em trabalhos

já existentes originários de outros programas, bem como criar animações e efeitos

especiais, quer em filmes como em jogos.

Page 49: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

47/85

Figura 19 - Algumas das imagens de filmes que foram criadas com o Maya [33]

O Maya é o pacote de software mais completo para produzir gráficos 3D e 2D, pois é

intuitivo, adaptável ao utilizador e as suas ferramentas fazem com que a interacção

3D seja de fácil aprendizagem e utilização.

Figura 20 - Interface do Maya 5.0 modelando uma imagem (esquerda) e Maya 6.0 efectuado um “rendering” com transparências (direita [32])

Na última versão do Maya (Maya Unlimited) é possível obter efeitos especiais

sofisticados e de alto nível, com os quais se podem criar as imagens que se

seguem:

Page 50: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

48/85

Figura 21 - Imagens geradas com o Maya [32].

III.2. Photorealistic RenderMan (PRMan)

O PRMan é uma implementação do pipeline geométrico cuja arquitectura foi

desenvolvida pela Lucasfilm (actual Pixar), a fim de obterem um “rendering” de maior

qualidade em cenas complexas (arquitectura Reyes). O sistema foi desenvolvido por

volta de 1980, com vista a que fosse possível diminuir o tempo de “rendering” de

horas para minutos [34].

III.2.1. RenderMan Interface

O interface RenderMan é uma norma criada pela Pixar para cada modelador que

tem como motor de “rendering” o PRMan. Pode ser considerado como a descrição

de uma cena em formato 3D, do mesmo modo que o PostScript é a descrição 2D do

formato de uma página [35].

Page 51: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

49/85

Esta norma é independente do sistema operativo e do hardware. O RenderMan

permite ao modelador especificar o que quer “renderizar”, mas não como o fazer. O

programa de “rendering” que implementar a norma RenderMan pode escolher, entre

outros, o método de traçagem de raios ou o de radiosidade. Estes detalhes de

implementação não constituem barreiras para a interface.

A primeira versão da norma do RenderMan descreve a interface procedimental, isto

é, as chamadas às funções de cada biblioteca que podem ser invocadas pelo

modelador. Quando esses procedimentos são invocados, a informação é passada

para o motor de “rendering”. O RenderMan define ainda a RenderMan Interface

Bytestream (RIB), que providencia uma interface ASCII para um motor de

“rendering” que suporte o protocolo RIB.

III.2.2. Reyes Architecture

Figura 22 - Pipeline da arquitectura Reyes [34]

Page 52: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

50/85

O algoritmo do Reyes permite carregar a cena descrita pelo modelador,

normalmente através de um ficheiro RIB que deve passar pelo parser RIB, que

então chama cada rotina RI que é necessária conforme cada linha extraída do

ficheiro RIB. Senão, se o modelador estiver ligado ao motor de “rendering”, pode

utilizar directamente a RI API, não necessitando de efectuar o parsing [34].

De seguida, quando as primitivas chegam à fase de bound (definição de limites) o

motor de “rendering” determina que primitivas são visíveis. O RenderMan não

processa qualquer primitiva que esteja fora dos limites de visualização da câmara.

Primitivas muito grandes são dividas em objectos mais pequenos, os quais são mais

tarde convertidos em micropolígonos, com área aproximadamente igual à de um

pixel.

Depois a grelha de micropolígonos passa para a fase de shade, na qual são

avaliadas todas as luzes e texturas ligadas ao objecto, disponibilizadas pelo PRMan.

Por fim a informação dos pixeis é enviada para um ficheiro que pode ser visualizado

no ecrã ou armazenado num dispositivo de saída existente.

Figura 23 - Imagem gerada no modelador Maya e o motor de “rendering” PRMan

Page 53: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

51/85

O RenderMan Artist Tools da Pixar, designado por RAT, é um conjunto de

ferramentas que permite a utilização do PRMan a qualquer utilizador habituado ao

Maya.

Figura 24 - Imagem gerada no modelador Maya com o motor de “rendering” PRMan

III.3. Radiance

O Radiance foi desenvolvido como uma ferramenta de pesquisa para prever

realisticamente a distribuição de radiação visível num espaço iluminado. Tendo com

base modelos 3D geométricos do ambiente físico, produz um mapa de valores de

radiância que pode ser convertido numa imagem a cores.

A principal vantagem do Radiance sobre simples cálculos de luz e ferramentas de

“rendering” é que não existem limitações sobre a geometria ou sobre os materiais

que podem ser simulados [14].

O Radiance é utilizado por arquitectos e engenheiros para prever a iluminação, a

qualidade visual e a aparência de novos espaços, e por investigadores para

avaliarem novas tecnologias relacionadas com luz artificial e natural. O Radiance é

Page 54: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

52/85

um simulador de transporte de luz e um sistema de “rendering” que envolve desde

trabalhos de pesquisa até sistemas não comerciais, sendo bastante utilizado.

III.3.1. Arquitectura do Radiance

Figura 25 - Pipeline do Radiance [14]

O programa que se encontra ao centro o Rpict, da figura anterior, é o que produz a

imagem sobre a cena descrita. O Rview é a variação do Rpict que produz e visualiza

a imagem interactivamente. A scene description é um ficheiro constituído por uma

lista de superfície e materiais que descrevem o ambiente específico. Os tipos de

objectos mais comuns são esferas, polígonos, cones e cilindros, os quais podem ser

constituídos por materiais tais como plástico, metal ou vidro.

Através duma descrição da cena 3D e de uma visualização específica, o Rpict

produz a imagem 2D. A picture é um ficheiro de representação dos pixeis da

imagem. Esta imagem pode ser escalável em tamanho e brilho e pode ser efectuado

um tratamento anti-aliasing.

Page 55: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

53/85

O cabeçalho de cada ficheiro picture lista o programa(s) e os parâmetros que o

produziu, pois estes dados permitem identificar a imagem sem que seja necessário

visualiza-la. Esta informação pode ser lida através do programa getinfo. Auxiliary

files são os ficheiros utilizados nas texturas e padrões, os quais são acedidos pelo

programa durante a geração de imagem.

Este software é baseado no método de traçagem de raios, mas é caracterizado

como sendo um método híbrido de iluminação global e das técnicas de “rendering”

que separam a iluminação directa da indirecta, e utiliza diferentes algoritmos para

calcular cada um deles. A luz directa é calculada pelo método dos raios de sombra,

mas no caso de ter muitas fontes de luz utiliza um algoritmo adaptativo que permite

seleccionar as fontes mais importantes, enquanto que os efeitos das restantes

fontes de luz são estimados. A irradiância, que geralmente varia conforme a

superfície, é discretizada em alguns pontos do meio ambiente utilizando-se a

integração via método de Monte Carlo sobre o hemisfério a iluminar. As amostras de

iluminação são armazenadas em cache. A cache não está associada a superfícies,

mas sim com uma estrutura espacial que subdivide o espaço da cena. Se o valor da

irradiância é requerido num ponto, a cache procura um valor vizinho e este é

interpolado. Se existirem poucos valores na cache, um novo valor para a irradiância

é calculado nesse ponto e acrescentado à cache. Na Figura 25, estes cálculos são

executados pelo oconv, um algoritmo eficiente que permite gerar resultados muito

precisos que são posteriormente guardados num ficheiro octree (cache).

O Radiance permite também o pré-processamento de fontes de luz secundárias.

Para cada superfície, o mapa de distribuição direccional de transmissão e reflexão

de luz é determinado numa fase de pré-processamento e armazenado juntamente

com a superfície. Isto permite aumentar consideravelmente a eficiência e a

qualidade da computação final. Outra das características relevantes do Radiance é a

descrição hierárquica da cena, uma descrição procedimental dos atributos de

“rendering”, mecanismos de processamento distribuído e suporte de animação.

Page 56: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

54/85

O Radiance é uma arquitectura de “rendering” que resolve eficientemente muitos

dos problemas de “rendering” e de simulação do transporte de luz [14]. É baseado

em quantidades físicas e pode ser configurado para funcionar com qualquer

exactidão requerida por uma aplicação.

Figura 26 - Estudo de luz no Hotel Sinova por Martin Moeck, Siemens Lighting [14]

Inicialmente, o Radiance era uma ferramenta para Unix e utilizava um formato de

input textual, mas recentemente surgiu o Desktop Radiance, que proporciona o uso

desta ferramenta através de uma plataforma gráfica que corre em Windows, sobre a

aplicação AutoCAD, através de menus, não estando porem acessíveis todas as

funcionalidades existentes no Radiance [27].

III.4. POV-Ray

O Persistence of Vision Ray-Tracer TM (POV-Ray) foi desenvolvido a partir do

DKBTracer 2.12 em 1991 por um grupo de pessoas (POV-Team TM) nos seus

tempos livres [26].

O pacote POV-Ray inclui já algumas cenas sobre as quais é possível criar imagens

realistas, não sendo necessário efectuar alterações. É constituídos por uma

Page 57: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

55/85

biblioteca de formas, cores predefinidas e materiais e é baseado no método de

traçagem de raios.

Algumas das suas características mais importantes são, entre outras, a utilização de

vários tipos de câmaras; a utilização de fotões para obter os efeitos realísticos,

cáusticos, de reflexão, refracção e meio participante; radiosidade para um maior

realismo em ambientes difusos; efeitos atmosféricos (como, chuva, nuvens, fogo,

etc.)...

As formas podem facilmente ser combinadas para criarem formas mais complexas,

utilizando-se para tal o método Constructive Solid Geometry (CSG).

O POV-Ray é essencialmente um software de linha de comandos, existindo porém

uma implementação para Windows e Macintosh.

Figura 27 - Imagens geradas pelo POV-Ray [26]

Page 58: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

56/85

III.5. Mental Images

A Mental Images, desde 1986, baseada nas suas próprias pesquisas e em

tecnologias patenteadas, tem vindo a desenvolver gerações sucessivas de motores

de “rendering” e modeladores 3D [28].

III.5.1. Mental Ray

O Mental Ray é um motor de “rendering” que permite gerar imagens de grande

qualidade e realismo. Este software utiliza aceleradores avançados e técnicas

recursivas para conseguir obter um “rendering” mais rápido. Adicionalmente, a

performance do “rendering” é elevada devido ao suporte dinâmico dos

processadores gráficos. É baseado no método da traçagem de raios, que é utilizado

automaticamente quando é necessário tratar refracções, reflexões, traçagem de

raios para sombras, etc.

Suporta primitivas geométricas incluindo polígonos, superfícies com formas livres e

subdivisões de superfícies hierárquicas. O Mental Ray é comercializado

isoladamente ou como uma biblioteca que permite a integração directa noutros

softwares.

Permite ainda a simulação completa da iluminação global, baseada em métodos de

“rendering” patenteados e em bases de dados distribuídas. É o primeiro software de

“rendering” a combinar a simulação física correcta do comportamento da luz com a

programabilidade necessária para a criação de qualquer fenómeno visual, real ou

imaginário.

III.5.2. Mental Matter

O Mental Matter é o modelador da Mental Images, que suporta uma variedade de

combinações de modelos e tesselagens. O Mental Matter é usado para desenvolver

modelos baseados no Non-Uniform Rational B-Splines (NURBS) e no Hierarchical

Page 59: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

57/85

Subdivision Surfaces (HSDS). Em contraste com muitos outros modeladores, este

permite a criação arbitrária de objectos geométricos complexos que consistam

apenas numa superfície.

Figura 28 – Imagens da Production Renault Design

Figura 29 – “Rendering” realizado com o Mental Ray

Figura 30 – Imagens do Star Wars: Episode II "Attack of the Clones"

III.6. Sumário

Do software descrito pretendeu-se dar uma ideia aproximada de como funcionam.

Existem, no entanto, outros modeladores (casos do AutoCAD e do SolidWorks) e

outros motores de “rendering” (Nuke) não abordados.

Page 60: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

58/85

O Houdini é uma plataforma não abordada que inclui as duas aplicações e é

bastante utilizada no cinema (tais como, Pearl Harbor, Senhor dos Anéis – A

Irmandade do Anel) e na publicidade (Coca-Cola, por exemplo).

Existe ainda outra implementação semelhante ao PRMan, o Blue Moon Rendering

Tools (BMRT), mas com a diferença principal do BRMT ser um código aberto (open-

source) que respeita a norma RenderMan e que suporta traçagem de raios e

radiosidade [34].

Tendo em consideração que existem mais motores de “rendering” que modeladores,

é frequente a existência de parcerias, como é o caso da mais recente entre a Mental

Ray, Alias (Maya 6) ,Discreet (3dsmax), nVIDIA (QUADRO FX 4000) e a Softimage

[30].

Page 61: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

59/85

Capítulo IV.

Hardware

A qualidade e a velocidade do software 3D existente no mercado é um dos grandes

problemas para a criação de imagens foto-realistas. Para combater esses problemas

surgiram as unidades de processamento gráfico (GPU – Graphic Processing Unit)

[21].

A GPU é um microprocessador que foi desenhado especialmente para o

processamento de gráficos 3D. O processador é construído por motores de

“rendering”, de transformação, de iluminação e manuseamento de triângulos,

integrados, capazes de executarem milhões de processos matemáticos intensivos

por segundo. A GPU é considerada o coração das placas gráficas modernas,

libertando o CPU (Central Processing Unit) da carga de processamento gráfico. A

GPU permite que muitos dos produtos como os computadores pessoais, portáteis e

consolas de jogos processem gráficos 3D em tempo real, o que até há pouco tempo

só era possível em grandes estações de trabalho.

A GPU é constituída por uma memória incorporada na placa, sendo esta um dos

componentes mais importantes. As primeiras GPU’s encontradas nos computadores

pessoais tinha cerca de 16MB de RAM incorporada e a baixa velocidade com que

esta era acedida mostrou ser um dos factores mais importantes.

IV.1. Silicon Graphics, Inc.

Silicon Graphics Inc, também conhecida por SGI, é líder mundial em computação de

elevada performance, visualização e armazenamento. Fundada em 1982, está

sediada na Mountain View, California, com instalações de produção em Chippewa,

Wisconsin e representantes em todo o mundo [36].

Page 62: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

60/85

Dos produtos disponibilizados pela empresa, os mais interessantes são os SGI

Onyx, família de servidores gráficos de elevada performance e as estações de

trabalho Unix SGI Octane, desenhadas especificamente para aplicações de

computação gráfica [37].

Figura 31 – Onyx

Figura 32 - Octane

IV.2. nVIDIA

A nVIDIA foi a primeira empresa a desenvolver GPU [21], com a Geforce 256

comercializada no fim de 1999. A Geforce 3 foi a primeira placa a ser desenvolvida

pela nVIDIA como GPU programável, que permitiu um aumento da criatividade dos

programadores para personalizar o mundo virtual dos jogos ou dos simuladores.

Adicionalmente a Geforce 3 suporta sombreamentos personalizados que permitem

um maior realismo às cenas.

IV.2.1. Quadro FX

A família Quadro FX é a mais recente solução da nVIDIA sendo a mais rápida

aplicação ao nível de performance e a de mais alta qualidade gráfica para estações

Page 63: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

61/85

de trabalho [24]. Sendo uma arquitectura programável é possível simular um número

ilimitado de características físicas, tais como os efeitos das luzes (dispersão,

reflexão, refracção e até o modelo BRDF), bem como propriedades físicas das

superfícies (tais como, os efeitos cáusticos), entre muitas outras características.

Figura 33 - Imagem obtidas com a nVIDIA Quadro FX

IV.3. ATI

A ATI tem vindo a produzir placas de vídeo desde 1990, e em 2000 comercializaram

as placas da série Rage 128 GPU, para competirem com a Geforce da nVIDIA.

Desde então a série Rage tem vindo a ser incorporada nos computadores pessoais

e portáteis, principalmente os Macintosh. A nova série Radeon incorpora a ATI

Charisma Engine, a arquitectura Pixel Tapestry e o gestor de largura de banda de

memória Hyper Z.

IV.3.1. Fire GL

A Fire GL é a mais recente série de placas gráficas da ATI para estações de

trabalho. A sua arquitectura foi desenhada para executar velocidades elevadas e

obter imagens de qualidade para visualização em tempo real [23].

Page 64: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

62/85

Figura 34 - Placas gráficas aceleradoras de ATI Fire GL[23]

Ambas as placas podem ser utilizadas directamente para trabalhos gráficos

profissionais, tendo como base quer o Windows quer o Linux, conseguindo uma

elevada performance.

Page 65: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

63/85

Figura 35 - Imagens obtidas com a ATI Fire GL

IV.4. ART VPS

A ART VPS Ltd. desenvolveu um processador gráfico 3D que permite criar imagens

realistas [22]. As placas de “rendering” PURE e RenderDriver são ambas baseadas

na tecnologia de hardware de traçagem de raios da própria empresa,

nomeadamente o chip AR350.

O AR350 é a segunda geração de processadores de traçagem de raios da empresa,

tem como características um gestor de memória para aceder a memória DRAM

local, uma estrutura cache incorporada para reduzir a largura de banda requerida

pelo barramento cliente e dois núcleos de “rendering” 3D.

Cada núcleo efectua operações geométricas e de sombreamento com recurso ao

algoritmo de traçagem de raios. O co-processador geométrico de cada núcleo é

capaz de efectuar o cálculo de intersecção de raios em cada ciclo de relógio do

processador.

Page 66: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

64/85

Figura 36 - Processador gráfico 3D da ART VPS, [22]

IV.4.1. PURE e RenderDrive

Os produtos de “rendering” que podemos encontrar na ART VPS são o PURE que é

uma placa gráfica PCI para estações de trabalho e o RenderDrive um servidor

dedicado a processamento gráfico, que permite obter “rendering” em rede de

elevada qualidade.

Figura 37 - Hardware da ART VPS para rendering foto-realístico

As imagens que se seguem foram obtidas através da utilização da interface da ART

e dos produtos acima descritos cujo modelador foi o software Maya e o Max da 3ds

Max.

Page 67: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

65/85

Figura 38 - Imagem gerada com o software 3ds Max e o hardware da ART VPS

Figura 39 - Imagem gerada com o software Maya e o hardware da ART VPS

IV.5. Sumário

Apesar do grande impulso dado ao nível de hardware nos últimos quatro anos, as

placas gráficas descritas neste capítulo apenas implementam o método de traçagem

de raios.

Contudo existem já implementações do método de mapeamento de fotões, nas ATI

Radeon 9800 Pro e na nVIDIA Geforce FX 5900 Ultra, ainda que limitados, devido

ao acesso aleatório na escrita em memória [20].

Page 68: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

66/85

Page 69: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

67/85

Capítulo V.

Casos Práticos

Visto todas as ferramentas colocadas ao dispor dos profissionais na área do foto-

realismo, este capítulo tem como objectivo dar a conhecer alguns dos

procedimentos e métricas a ter em consideração aquando da criação de imagens.

Serão apresentados três casos práticos onde são utilizadas as tecnologias atrás

descritas.

V.1. Caso 1 - Modelação de um peixe foto-realista

Neste caso prático, o objectivo fundamental é o de modelar um peixe de modo a

parecer foto-realístico [38]. No entanto, poderia ser realizado com qualquer outro

animal.

O primeiro passo a realizar é o de arranjar uma imagem em formato digital de um

peixe (digitalizando de um livro ou através de uma pesquisa na Internet). A imagem

tem que ser de um peixe e só do peixe, qualquer objecto que esteja por detrás do

peixe tem que ser removido, utilizando para tal, um programa de tratamento de

imagem como o Photoshop. A imagem tem também que ser ajustada de modo a que

as cores fiquem bem distintas e com um nível de saturação elevado. Com estas

modificações feitas, a imagem pode tornar-se agora um mapa de cores do peixe

foto-realista. O resultado destas transformações irá ser algo semelhante ao

apresentado na Figura 40.

Page 70: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

68/85

Figura 40 - Imagem real de um peixe

O segundo passo, utilizando o Photoshop, é passar toda a imagem do peixe para

uma escala de cinzentos, e aumentar-lhe o contraste de modo a obter uma boa

definição entre os tons claros e escuros da imagem. O resultado, mostrado na

Figura 41, irá ser utilizado como base para o modelo do peixe foto-realista a criar

assim como um mapa de texturas para controlo de difusão.

Figura 41 - Imagem em tons de cinzento

Num modelador carrega-se a imagem em tons de cinzento posicionando-a no

viewport do eixo dos x. Neste caso foi utilizado como modelador o Lightwave. De

seguida, utilizando a ferramenta deste modelador, o Lightwave MetaNurbs,

desenhou-se a silhueta, á mão, da imagem e adicionou-se pontos de controlo com

outra ferramenta da aplicação denominada de “Knife Tool” . Por fim, escalou-se e

arrastaram-se estes pontos para a posição correcta. O resultado está mostrado na

Figura 42. Com modeladores baseados em NURBS, pode-se ainda desenhar as

curvas nos pontos Z e Y, coloca-las na posição certa e transforma-las em superfícies

do tipo NURBS. A Figura 43 e a Figura 44 mostram estas curvas.

Page 71: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

69/85

Figura 42 - Vista de X

Figura 43 – Vista de Y

Figura 44 – Vista de Z

Para criar as barbatanas, procede-se do mesmo modo. É inclusive mais

aconselhável cria-las como objectos separados, e posteriormente junta-las ao

modelo final. Os olhos do peixe são simples esferas, achatadas e colocadas no sitio.

A Figura 45 mostra a malha de arame poligonal final e a Figura 46 mostra a

geometria com um sombreado simples.

Page 72: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

70/85

Figura 45 - Modelo do peixe em malha de arame poligonal (final)

Figura 46 - Modelo do peixe com sombreado simples

De notar que o modelo do peixe apenas precisa ser etiquetado de superfície, dado

que todos os atributos de material vão ser modelados com mapas de textura

“globais”. A Figura 47 apresenta o mapa de transparências, este mapa é baseado na

imagem original em tons de cinzento onde todas as áreas que necessitam de ser

opacas são pintadas de preto, enquanto que as áreas a branco significam

transparência completa. Pintou-se um gradiente de preto para branco desde as

pontas das barbatanas até perto do corpo do modelo para simular a característica

translúcida observada em peixes reais. Para tal utilizaram-se algumas das

ferramentas existentes no Photoshop.

Figura 47 - Mapa de transparências do modelo do peixe

A Figura 48 mostra o mapa especular do modelo, o qual providencia a modulação

necessária para os pontos do modelo mais brilhantes. Para tal, é necessário pegar

Page 73: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

71/85

no negativo da imagem em tons de cinzento e cortar-lhe os olhos do peixe, pois

estes necessitam de ter um brilho mais suave.

Figura 48 - Mapa de pontos especulares do modelo do peixe

A Figura 49 mostra o mapa de altos (bump map), o qual modela a superfície de

maneira a providenciar a ilusão dos relevos da textura do peixe. Isto vai permitir criar

com maior detalhe no final as escamas do peixe. De notar que se cortaram da

textura em tons de cinzento original, aquilo que iria ser as áreas escamadas e

substituiu-se por uma textura de escamas.

Figura 49 - Mapa de altos do modelo do peixe

Agora que os mapas de textura e do modelo estão prontos, basta carrega-los para a

aplicação 3D e aplicar os canais apropriados a cada material: cor, especularidade,

relevos e transparência. Neste caso, foi utilizado um mapeamento plano no eixo dos

x das texturas. Finalmente, carrega-se a imagem em tons de cinzento e aplica-se o

canal de iluminação difusa.

Page 74: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

72/85

No “rendering” final utilizou-se um plugin de sombreamento para o motor de

“rendering” Lightwave denominado HSVBoost, o qual ajusta o nível de saturação do

peixe, baseando-se no angulo da câmara e na geometria, adicionando um toque de

realismo final.

Figura 50 - Imagem de um peixe gerada por computador

Para concluir este primeiro caso prático de geração de imagens foto-realistas,

apesar desta imagem ter sido gerada a partir de texturas já existentes, poder-se-ia

modelar tais texturas sem termos que recorrer a imagens já existentes.

Outro aspecto é que apesar de este caso ter sido desenvolvido com recurso á

ferramenta Lightwave [38], poder-se-ia ter utilizado outra ferramenta como o Maya

para produzir o modelo e o PRMan para fazer o “rendering” da imagem.

V.2. Caso 2 – Final Fantasy: The Spirits Within Um caso prático importante na historia da geração de imagens foto-realistas é o

filme Final Fantasy: The Spirits Within [39]. As personagens e os cenários deste

filme, gerado por computador, são bastante reais. Realizado por Hironobu

Sakaguchi, nos estúdios da Square, no Hawai, este filme foi baseado numa série de

jogos homónimos ao filme. Dado que são bastantes os pormenores técnicos

Page 75: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

73/85

intrínsecos ao filme, e muitos deles saem do âmbito deste trabalho, apenas vou dar

uma pequena introdução ás tecnologias utilizadas na sua produção, nomeadamente,

quais as plataformas utilizadas, software e hardware, assim como algumas

estatísticas em termos computacionais relativamente ao “rendering” das cenas.

V.2.1. Software

Para a produção deste filme foi utilizado software de modelação e de rendering

separados. O principal software utilizado para a modelação das cenas, assim como

para a animação e iluminação, foi o Maya. Para a realização do “rendering” foi

utilizado o PRMan. Algum do “rendering” foi também realizado pelo motor de

“rendering” do próprio Maya, para elaborar os efeitos de explosões e outros

semelhantes. Foi também utilizado o MTOR (Maya TO Renderman) da Pixar, para

realizar as conversões de “rendering” entre o Maya e o PRMan.

Para além deste software, foi produzido software à medida, como o SqFlex para a

modelação de cabelos e roupas das personagens, e o SQB, que é um software de

controlo e acesso á renderfarm2, entre outros.

V.2.2. Hardware

Todo o hardware utilizado na produção deste filme veio da SGI. Todos os artistas do

filme usaram SGI Octane (perto de 167) como plataforma para composição de

imagem e o 4 Onyx para a previsão de cenas do filme. Utilizaram, ainda o 16 Origin

2000 principalmente para processamento por lotes do software MTOR e vários

Origin 200 como servidores de armazenamento. A renderfarm consiste de

aproximadamente 1000 servidores Pentium III, personalizados, em armários (rack

mounted).

2 Conjunto de servidores que providenciam potência de “rendering” (processamento paralelo) para as cenas mais complexas e mais longas

Page 76: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

74/85

Os sistemas operativos utilizados nestas plataformas foram, para a renderfarm, Red

Hat Linux 6.2, e para os outros, o sistema operativo da SGI, o IRIX. Um aspecto

interessante acerca do software criado internamente na Square, o SQB, era que

para além de controlar o acesso ás maquinas Origin 2000, também usava os

computadores dos artistas quando estes não estavam a ser utilizados. Contabiliza-

se que aproximadamente 1400 a 1500 computadores foram utilizados na produção

deste filme.

V.2.3. Estatísticas de Rendering • Nº de polígonos em personagens secundárias ou vistos á distância: ~100.000.

• Nº de polígonos em personagens principais, em close-up: ~300.000.

• Nº de polígonos em geometria facial: ~30.000.

• Nº de polígonos em pestanas e sobrancelhas: ~20.000.

• Nº de polígonos em cabelos: ~60.000.

(Estes valores podiam duplicar em alturas em que o “rendering” era realizado na

mais alta resolução pelo PRMan.)

• Tempo de “rendering” (em bruto): 934.162 dias

(caso fosse utilizado um só processador).

• Nº de Total de Frames: 149.246.

• Tempo estimado de “rendering” por frame: 90 minutos.

• Imagem com o número mais elevado de camadas: 498 camadas.

• Espaço ocupado: ~4TB.

Estas estatísticas foram realizadas apenas para o “rendering” final, não

contabilizando testes, revisões, etc.

Para finalizar este caso prático, apenas há a salientar o pormenor de que este foi o

primeiro filme onde tentaram (ou conseguida) a criação de actores totalmente

gerados por computador. De seguida são mostradas algumas das imagens geradas

Page 77: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

75/85

para este filme, onde se pode constatar o realismo conseguido pelos artistas desta

produção.

Page 78: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

76/85

Figura 51 – Imagens retiradas do filme Final Fantasy: The Spirits Within

V.3. Caso 2 – Shrek & Shrek 2 Este último caso prático é um tanto ao quanto diferente dos outros, pois neste caso

não se tentou, a princípio, gerar imagens foto-realistas, mas sim um mundo

imaginário, de conto de fadas [40].

Realizado por Andrew Adamson, nos estúdios da PDI – Dreamworks, o objectivo

deste caso prático é o de sendo um mundo imaginário com personagens fictícias,

irreais ou não existentes (não existem ogres no mundo real), o uso de técnicas de

geração de imagens foto-realistas podem igualmente ajudar a criar mundos

imaginários com características bastante reais (os edifícios, paisagens, a iluminação

Page 79: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

77/85

ambiente, etc.), tornando-os não tão irreais. È também de salientar que o uso das

tecnologias é bastante diferente do caso anterior [41].

Tal como para o caso prático anterior, aqui apenas se mostrar qual a tecnologia

utilizada na produção deste filme, mas ao contrário do anterior neste caso não existe

muita informação disponível acerca dos pormenores técnicos de “rendering”.

V.3.1. Software

Tanto para o Shrek como para o Shrek 2, o ambiente de modelação e animação foi

o Maya [42]. Nada existe informação disponível acerca dos motores de “rendering”

utilizados, mas visto que os serviços de “rendering” foram contratados á Hewlett-

Packard (HP) (ver mais á frente os detalhes) é possível que seja um motor

proprietário da própria empresa [41].

V.3.2. Hardware

Inicialmente, no Shrek, a PDI utilizou uma renderfarm com maquinas SGI Origin 200

e Onyx2, as quais corriam o sistema operativo IRIX 6.5 e SGI e Pentium III a correr

Linux. Nesta altura contabilizou-se um total de 1482 máquinas em produção e um

total de 6,5 TB de espaço de armazenamento [43].

Para o Shrek 2 a PDI decidiu apostar noutra abordagem. A HP providencia um

serviço denominado Utility Rendering Service. Este serviço disponibiliza um centro

de computação com cerca de 500 servidores (aproximadamente 1000

processadores, que em conjunção com os da PDI contabilizava um total de ~3000

processadores) construídos a partir de servidores HP ProLiant DL 360, os quais

correm Linux, e computadores HP ProCurve. Como estações de trabalho os artistas

utilizaram igualmente máquinas HP equipados com dois processadores Pentium IV a

correr Linux [44].

Page 80: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

78/85

V.3.3. Estatísticas de rendering (Shrek 2): • Quantidade total de espaço ocupado: 20 TB

• Tempo médio de “rendering” de cenas: 12 horas

• Tempo médio de “rendering” de cenas as quais envolvem um grande número de

personagens secundárias: 30-40 horas

• Tempo total de “rendering” (estimado): 10.000.000 horas

(caso fosse utilizado um só processador).

Para concluir este último caso prático, existe apenas um aspecto interessante em

relação à tecnologia utilizada. Neste filme foram aplicados, pela primeira vez,

conhecimentos relacionados com iluminação global. De seguida são apresentadas

algumas das imagens geradas para este filme.

Page 81: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

79/85

Figura 52 – Imagens retiradas do filmes Shrek e Shrek 2

V.4. Sumário

Tal como defendido neste trabalho, Kevin Bjorke, Supervisor de “rendering” e de

sombreamento do filme Final Fantasy: The Spirits Within, os motores de “rendering”

de iluminação directa como o PRMan estão a chegar ao limite do realismo que

oferecem, pelo que acredita que iluminação global é a tendência de futuro [39]. Dado

Page 82: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

80/85

que o Final Fantasy: The Spirits Within é de 2001, e o Shrek 2 é de 2004, esta

tendência já se faz sentir.

Page 83: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

81/85

Capítulo VI.

Conclusão

O “rendering” foto-realístico, como podemos constatar, não é uma novidade. Desde

1968, com a implementação do primeiro método de traçagem de raios, que se

pretende atingir a perfeição apresentada pelas fotografias e mesmo pelo ambiente

que nos rodeia.

Apesar de neste trabalho terem sido abordados apenas os aspectos necessários

para se obter uma imagem foto-realista com base em técnicas de iluminação global,

convém não esquecer que, para se obter uma “boa” imagem, é necessário muito

mais do que os cálculos desta técnica. Existem outros factores quase tão

importantes como estes cálculos que não podem ser negligenciados.

Hoje em dia verifica-se também que, com a evolução do hardware, a capacidade

computacional de um único chip é suficiente para efectuar a traçagem de raios em

tempo real. O primeiro método inicialmente implementado para iluminação global, a

traçagem de raios, é um dos métodos mais utilizados ao nível do software, mas

começa a surgir também no hardware mais recente.

No que se refere aos dispositivos de saída, o que se verifica hoje em dia é que cada

vez mais existem dispositivos de grandes dimensões e que recorrem a novas

tecnologias. Será lícito admitir que vai ser necessária uma revisão aos algoritmos

existentes devido à dimensão desses dispositivos em termos de pixeis e, com o

aparecimento de novos dispositivos, diferentes dos que são utilizados actualmente

(por exemplo, dispositivos holográficos) serão necessárias novas abordagens.

Page 84: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

82/85

Numa tendência de futuro, nota-se que existe um esforço generalizado para que as

técnicas de iluminação global sejam utilizadas como base para a geração de

imagens foto-realistas. Com a introdução de chips programáveis, e outras

tecnologias aceleradoras do cálculo de iluminação, os algoritmos de tal iluminação

tornar-se-ão ainda mais poderosos e abrangentes.

Cada vez mais, a computação gráfica é uma das disciplinas da informática que mais

entusiastas e praticantes atrai, provavelmente por ser um dos domínios da

informática que interage com as mais diversas áreas (arquitectura, indústria, arte

cinematográfica, etc.). Esta foi a principal motivação que me levou a elaborar este

trabalho.

Page 85: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

83/85

Referências Bibliográficas [1]. Costa, António Cardoso. História da Computação Gráfica - Computação Gráfica,

Ramo Computadores e Sistemas Departamento de Engenharia Informática - ISEP/IPP, 2002/2003.

[2]. Biggs, Billy, Accurate and Visually Plausible Colour in Photorealistic Rendering –

University of Waterloo. [3]. Slusallek, Philipp. Vision - An Architecture for Physically-Based Rendering -

Erlangen, 1995. [4]. Dingliana, John. Computer Graphics Hardware, Input/Output Technologies -

IMAGE SYNTHESIS GROUP - TRINITY COLLEGE DUBLIN, 2003. [5]. Wynn, Chris. An Introduction to BRDF-Based Lighting – nVIDIA Corporation,

1999. [6]. Baranoski, Gladimir V.Gimarães. Biologically and Physically-Based Rendering of

Natural Scenes – Department of Computer Science – University of Calgary, 1998.

[7]. Shklyar, Dmitry. Part 2: To Photorealism and Beyond – CGNetworks Feature- 3D

Rendering History, Outubro 2003. [8]. De Angelis, Christopher. Radiosity: A Study in Photorealistic Rendering -

Computer Science Department – Boston College, 1998. [9]. Fellner,Dieter., Schäfer,Stephan., Zens,Marco. Photorealistic Rendering in

Heterogeneous Networks – Department of Computer Science - University of Bonn.

[10]. F. Bielajew, Alex. Fundamentals of the Monte Carlo method for neutral and

charged particle transport – Department of Nuclear Engineering and Radiological Sciences – University of Michigan, Setembro 2001.

[11]. Buck, Jamis. The Recursive Ray Tracing Algorithm - Dezembro 1999 [12]. Foley, James. Van Dam, Andries. Feiner, Steven. Hughes,John. Phillips,

Richard. Introduction to Computer Graphics, Addison-Wesley, 1993. [13]. Shklyar, Dmitry. Part 1: Humble Beginnings – CGNetworks Feature- 3D

Rendering History, 2003.

Page 86: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

84/85

[14]. Larson, Ward Greg. Shakespaere, Rob. Rendering with Radiance- The Art of Science of Lighting Visualization – Morgan Kaufmann, 1998.

[15]. Watt, Alan. Three-Dimensional Computer Graphics – Addison Wesley, 1989

[16]. Bekaert, Philippe. Hierarchical and Stochastic Algorithms for Radiosity – Department of Computer Science - Katholieke Universiteit Leuven, Belgium 1999.

[17]. Jensen, Henrik Wann. A Practical Guide to Global Illumination using Photon Maps - Siggraph 1999.

[18]. Pauly, Mark. Robust Monte Carlo Method for Photorealistic Rendering of

Volumetric Effects – Kaiserslautern ,Outubro 1999. [19]. Radiosity - Ray Tracing - http://www.cg.tuwien.ac.at/research/rendering/rays-

radio/ - Institute of Computer Graphics, Setembro 1997 [20]. Purcell, Timothy John. Ray Tracing on a Stream Processor, Stanford

University, Março 2004. [21]. GPU Tutorial - http://www.wave-report.com/tutorials/gpu.htm, Junho 2001 [22]. ART VPS - http://www.artvps.com/, Julho 2004. [23]. ATI Technologies Inc. Fire GL – Workstation Graphics Accelarators,

www.ati.com, Maio 2004. [24]. NVIDIA Quadro FX - http://www.nvidia.com/page/quadrofx_family.html, Abril

2004. [25]. Nvidia Quadro FX Product Overview – http://www.nvidia.com/attach/163240?type=support&primitive=0, Abril 2004. [26]. POV-Ray, Introduction to POV-Ray, POV-Team – http://www.povray.org

[27]. Mistrick, G.Richard, Desktop Radiance Overview, Pennsylvania State University, 2000.

[28]. Mental Images, Product Overview - rendering imagination visible™

www.mentalimages.com [29]. Mental Images, mental ray Specification,2003

Page 87: Departamento de Engenharia Informática Ramo de

“Rendering” Foto-Realístico

85/85

[30]. Mental Images - Press Release, mental images Takes Realistic Graphics to

New Level, Abril 2004. [31]. Mental Images – Gallery, www.mentalimages.com, 2004 [32]. Maya 6.0, Responds to your everday production demands! - www.alias.com,

2004. [33]. ALIAS, Made in Maya, www.alias.com ,2004 [34]. Gritz, Larry. Advanced RenderMan 2: to RI_INFINITY and Beyond – Pixar

Animation Studios for Siggraph 2000 course 40, Julho 2000. [35]. Gritz, Larry. Blue Moon Rendering Tools 2.4 – Part 1: Introduction, Agosto

1998. [36]. SGI, SGI Company Overview, 2004 [37]. SGI, SGI Compayn Fact Sheet, 2004 [38]. Andrew Weiler. Modeling and texturing a photorealistic fish, A Lightwave

tutorial, 2004. [39]. Jon Stokes, Jonathan Ragan-Kelly. Final Fantasy – The Technology Within,

Arstechnica, 2001. [40]. PDI Dreamworks Company. Making of Shrek 2, Dreamworks, 2004. [41]. Hewlet-Packard Company. HP helps 'Shrek 2' come to life, 2004 [42]. Maya Association, Maya in PDI Dreamworks Shrek, 2001 [43]. Flarg. Shrek Renderfarm Statistics, 2001 [44]. Benny Evangelista, Shrek sequel -- a picture that's worth 20 terabytes, 2004