• Nenhum resultado encontrado

RUDI LOPES BRAVO DE ANDRADE UM ESTUDO DE TÉCNICAS REALISTAS DE RENDERIZAÇÃO EM TEMPO REAL. Florianópolis, 2007

N/A
N/A
Protected

Academic year: 2021

Share "RUDI LOPES BRAVO DE ANDRADE UM ESTUDO DE TÉCNICAS REALISTAS DE RENDERIZAÇÃO EM TEMPO REAL. Florianópolis, 2007"

Copied!
14
0
0

Texto

(1)

RUDI LOPES BRAVO DE ANDRADE

UM ESTUDO DE TÉCNICAS REALISTAS DE RENDERIZAÇÃO EM

TEMPO REAL

(2)

RUDI LOPES BRAVO DE ANDRADE

UM ESTUDO DE TÉNCNICAS REALISTAS DE RENDERIZAÇÃO EM

TEMPO REAL

Relatório do Trabalho de Conclusão do Curso, requisito da disciplina de Projetos I, Prof. Renato Cislaghi, do curso de Ciências da Computação da Universidade Federal de Santa Catarina.

Orientador: Prof. Dr. rer.nat. Aldo von Wangenheim

(3)

RESUMO

Existem diversas técnicas de renderização de imagens propostas às mais

variadas aplicações. Com suas peculiaridades, cada abordagem é utilizada

por diferentes escopos de aplicações, aproveitando ao máximo as

vantagens do método e tomando a precaução de minimizar os problemas

intrínsecos. A escolha correta da técnica para cada aplicação é um

processo fundamental do planejamento e as dificuldades tecnológicas

devem ser levadas em conta também. O trabalho esclarecerá alguns

aspectos de desenvolvimento de aplicações realistas em tempo real.

Palavras-chave: Computação Gráfica. Renderização. Síntese de imagens.

(4)

SUMÁRIO

1

INTRODUÇÃO...

05

1.1

OBJETIVOS GERAIS...

06

1.2

OBJETIVOS ESPECÍFICOS...

06

2

REVISÃO BIBLIOGRÁFICA...

07

2.1

TEMPO REAL... 07

2.2

REALISMO...

08

2.3

TÉCNICAS... 09

2.3.1

RAY CASTING...

09

2.3.2

RAY TRACING...

10

2.3.3

RADIOSIDADE...

10

2.4

PLATAFORMAS...

11

2.4.1

MULTIPROCESSADOS...

11

2.4.2

GPU PROGRAMAVEL...

11

3

METODOLOGIA...

13

REFERÊNCIAS...

14

(5)

1. INTRODUÇÃO

Usuários de sistemas computacionais estão cada vez mais familiarizados com o uso de interfaces gráficas, isso porque com o constante avanço tecnológico dos sistemas computacionais o custo relativo para geração de imagens no computador está diminuindo. Em contrapartida existem muitas pesquisas indo na direção de melhorias na qualidade das imagens que compõe o ambiente gráfico

Alguns ambientes gráficos clássicos, como jogos virtuais de computadores, estão se tornando cada vez mais imersivos, dando mais possibilidades para o usuário interagir e mudar o meio em que está imerso virtualmente.

Aproveitando todas essas novas possibilidades, outras aplicações começaram a utilizar ambientes gráficos cada vez mais complexos e imersivos. Existe uma grande necessidade em atender aos requisitos de qualidade gráfica do ambiente virtual, mantendo um tempo de resposta aceitável para não perder a imersividade.

Ambientes gráficos tridimensionais são muitos utilizados pelo seu alto poder de representatividade e é usado em muitos contextos de aplicações. Só para citar alguns: jogos de computadores, aplicações de simuladores, softwares de visualizações médicas e outros.

Para ser possível o uso de ambientes tridimensionais são necessárias formas de representar os objetos 3D no formato dos atuais displays de visualização 2D, como monitores e televisores. Essas formas são conhecidas como técnicas de renderização, ou síntese de imagens: o processo de sintetizar as informações 3D do modelo computacional para o formato 2D [ANDR91].

As técnicas de renderização variam uma para a outra no que diz respeito às características que agregam à imagem final. São essas características que irão representar a sensação de realismo à imagem gerada, como sombras nos objetos, reflexão em superfícies metálicas e outras.

Tendo em mente que para haver sensação de movimento são necessários em média trinta quadros por segundo. Entende-se que qualquer técnica que venha a ser utilizada deve atender ao mínimo de quadros por segundo, para não prejudicar o tempo de resposta da aplicação pro usuário.

(6)

Uma das grandes dificuldades de aplicações gráficas 3D é aproveitar o máximo as características realistas das técnicas de renderização, sem em contrapartida perder muito desempenho, a ponto de ir contra as necessidades da aplicação.

No laboratório Telemedicina existem softwares de simulações e softwares de visualização médica com modelos tridimensionais que precisam de um melhor desempenho na renderização, e não podem perder a qualidade das imagens geradas, por se tratar de uma aplicação que simula detalhes dos órgãos dos pacientes e qualquer distorção na visualização pode mudar o laudo médico e prejudicar o paciente.

1.1 Objetivos Gerais

O objetivo do trabalho é estudar as técnicas de renderização que foram propostas por diversos autores, analisando o realismo que a técnica propicia e também a sua velocidade de execução.

Também está nos objetivos do trabalho estudar quais plataformas de hardware são viáveis às execuções das técnicas de renderização, especificando quais delas atendem aos requisitos de realismo e tempo real.

Propor um meio eficiente de uso de técnicas realistas em aplicações de tempo real, e aplicar a solução no contextos das aplicações do laboratório Telemedicina.

1.2 Objetivos Específicos

● As técnicas de renderização serão estudadas, implementadas e testadas

buscando verificar sua eficiência.

● Métodos para aceleração no processo de renderização serão estudados,

implementados e testados, para também analisar sua validez.

● Comparações substanciais entre as técnicas, os resultados obtidos e os

(7)

2. REVISÃO BIBLIOGRÁFICA

2.1 TEMPO REAL

Entende-se por aplicações em tempo real aquelas que em resposta às ações que o usuário toma durante sua execução, produz e exibe a resposta dentro do tempo em que o usuário esperava receber. Muitas vezes esse conceito é confundido com a idéia de que tempo real significa produzir a resposta o mais rápido o possível, mas esse é um erro comum.

Se o usuário espera que uma determinada ação no software demore um certo tempo para produzir uma reação, não vai servir para nada exibir a resposta antes desse tempo. Ao garantir que o tempo de resposta seja o tempo esperado pelo usuário, propicia-se a ele a sensação de imersão no software e uso agradável da aplicação, garantindo que suas expectativas não sejam frustradas.

Dessa forma, no contexto de aplicações de computação gráfica, podemos classificar as técnicas de renderização como interativas ou não. Entende-se por interativa as técnicas que fornecem a sensação de imersão ao usuário da aplicação gráfica, que é o objetivo das aplicações em tempo real.

(8)

2.2 REALISMO

O realismo de uma imagem é um assunto para muito debate conceitual [HAGE86][FER03]. Foley sintetiza o conceito para referenciar a imagens em que a iluminação captura efeitos reais de interação com objetos físicos, dessa forma, conseguimos classificar um método como “mais” ou “menos” realista [FOLE96].

A necessidade de realismo pode vir de vários fatores, alguns apenas estéticos, como em designs de objetos 3D para visualizar como seria o resultado final da obra antes de ser feita no mundo real, como em design de carros, aviões e prédios. Outro forte motivo é a fidelidade de reprodução de objetos reais, como a representação 3D de órgãos do paciente num software da área médica, nesse caso, as simulações que irão ocorrer devem corresponder com a realidade.

Foley associa as seguintes características desejadas, entre outras, às imagens, para serem mais realistas:

• Determinação da superfície visível: Esse processo determina quais são as superfícies que não devem aparecer na imagem final, como a parte de trás de um objeto opaco tridimensional. Para a imagem fazer algum sentido, espera-se que apenas algumas partes dos objetos a serem exibidos sejam visíveis

• Iluminação e Shading: Cada superfície deve variar sua aparência de acordo com a iluminação que está sendo aplicada às superfícies visíveis. Elas dependem do tipo de iluminação e das propriedades do objeto (cor, textura, reflexividade).

Durante esse trabalho vamos entender o realismo como um conjunto de características propiciadas pela técnica, a partir de simulações de comportamento do mundo real, como luz, sombra, refração, perspectiva e outros.

(9)

2.3 TÉCNICAS DE RENDERIZAÇÃO

As técnicas de renderização mais comuns para aplicações interativas, são as de iluminação local, que consistem apenas levar em consideração a iluminação da cena os feixes de luz provindos diretamente de uma fonte de iluminação. Dessa forma, não é possível reproduzir características realistas, como reflexos, sombras e outros.

Para esses efeitos realistas são utilizadas as técnicas conhecidas como iluminação global. Estas levam em conta a luz refletida de outras superfícies. [PLOE06]

2.3.1 RAY CASTING

Ray Casting, chamado de Ray Tracing por muitos autores [FOLE96], é a técnica de “seguir” os feixes de luz pelo mundo 3D e calcular para cada pixel na tela, a intensidade e cor com que ele chegou ao display.

Existem duas abordagens de como seguir os feixes de luz [ANDR91]:

• Forward Ray Casting: Se refere a seguir os feixes de luz a partir da origem, ou dos focos de luz que estão no mundo 3D a ser renderizado, até eles alcançarem o plano de projeção e a representação computacional do que seria nosso olho.

• Backward Ray Casting: Tendo em vista que o método Forward pode ser muito caro, e muitos dos feixes de luz sequer chegam aos nossos olhos, Backwad Ray Casting faz o caminho inverso. Para cada pixel do plano de projeção, ele lança um feixe de luz, com todas suas propriedades físicas, que irão colidir ou não com um objeto, e refletir, até encontrar um foco de luz. Desse modo, apenas os feixes de luz que realmente importam à qualidade da cena serão calculados.

(10)

2.3.2 RAY TRACING

Muito similar ao Ray Casting, é também conhecido como Ray Tracing Recursivo. Ele tem as mesmas propriedades do Ray Casting, porém os feixes de luz levam consigo propriedades da superfície onde eles refletiram antes. Por exemplo, um feixe de luz branca, reflete numa superfície azul e depois em uma superfície com propriedades reflexivas e atinge o nosso olho, o resultado final será a superfície reflexiva com aquele pixel azul.

2.3.3 RADIOSIDADE

Entre as técnicas apresentadas até agora, Radiosity é a que apresenta o maior realismo. Isso porque ela é embasada em estudos matemáticos de como a luz interage com as propriedades físicas do ambiente. Todo esse cálculo é muito complexo, mas com os atuais níveis de processamento é possível realizar renderização com essa técnica, mesmo que a um custo muito proibitivo, inviabilizando a utilização em tempo real.

A proposta do Radiosity é a criação de uma sensação visual idêntica a que o espectador teria visualizando o mundo real.

(11)

2.4 PLATAFORMAS

Existem três diferentes plataformas nas quais Wald [WALD06] sugere que técnicas de iluminação global podem ser realizadas: Multiprocessados, GPUs programáveis e Hardware especializado. Como a confecção, ou compra, de um

hardware especial para a realização dessa tarefa de renderização não justifica os

gastos, o trabalho focará em soluções mais acessíveis.

2.4.1 MULTIPROCESSADOS

A aceleração de algoritmos de iluminação global através de computadores multiprocessados possui duas abordagens: Paralelizar trechos do código, também conhecida como abordagem MIMD – Multiple Instruction Multiple Data, que consiste em analisar o algorítmo de renderização e identificar trechos que podem ser paralelizados para um aumento efetivo de processadores. Outra abordagem mais prática é paralelizar os dados a serem executados pelo mesmo algoritmo, ou SIMD – Single Instruction

Multiple Data, por exemplo, dois feixes de luzes podem ser calculados

simultaneamente, pelo mesmo algorítmo, mas iterando em estruturas diferentes da cena.

As abordagens SIMD são mais comumente usadas, pela facilidade em paralelizar o algoritmo, embora muitos autores optem por uma abordagem híbrida, identificando trechos de códigos e iterações passíveis de paralelismo.

2.4.2 GPU PROGRAMÁVEL

GPU – Graphics Process Unit – que é a sigla designada aos processadores de vídeo, das placas de vídeo 3D, que estão cada dia mais populares e são encontradas em diversos computadores desktop.

Uma das vantagens dos processaodres de vídeo é que eles são otimizados para trabalhar em ponto flutuante, e esse é um aspecto importante já que grande parte do

(12)

custo de processamento é porque as contas usadas na iluminação global utilizam ponto flutuante.

Outra vantagem é a memória da placa de vídeo. Após serem feitos os cálculos necessários do render, os dados não precisam passar pelo overhead de memória, porque eles já estão na placa de vídeo.

(13)

3. METODOLOGIA

O estudo iniciará com um levantamento bibliográfico das técnicas básicas de renderização, sem levar em conta os fatores de realismo e tempo real, apenas para familiarização com as diversas possibilidades de implementação, e porque é necessário conhecer as características possíveis de serem alcançadas no produto final. Essa primeira etapa servirá para conceitualizar o restante dos estudos.

Posteriormente a atenção será focada em métodos que provavelmente atenderão aos requisitos, procurando os que tenham as características que se mostrarem essenciais durante a primeira fase do projeto. Para validar se uma técnica se enquadra ou não, haverá uma etapa de implementação, analisando os resultados obtidos e qualificando-a em aplicável ou não ao problema proposto.

Durante essa etapa de validação, serão observadas diversas características dos métodos, e se essas não forem satisfatórias na síntese de imagens médicas tridimensionais, existe a possibilidade de classificá-la como mais apropriado à outro contexto de aplicação.

(14)

REFERÊNCIAS

[ANDR91] GLASSNER, Andrew S. An Introduction to Ray Tracing. San Diego: Academic Press, 1991.

[FERW03] Ferwerda, James A. Three Varities of Realism in Computer Graphics.

Proceedings SPIE Human Vision and Electronic Imaging, [S.I.] ,p.

290-297, 2003.

[FOLE96] FOLEY, James D. et al. Computer Graphics: Principles and Pratices,

Second Edition in C. Massachusetts: Addison-wesley, 1996.

[HAGE86] HAGEN, M. Varieties of Realism. Cambridge: Cambridge University Press: 1986.

[MOLL02] MÖLLER, Tomas Akenine; HANES, Eric. Real-Time Rendering. 2. ed. Massachusetts: A K Perters, 2002.

[PLOE06] Atze van der Ploeg. Interactive Ray Tracing, the replacement of

rasterization?. Tese B.Sc., Vrije Universiteit, Dezembro 2006.

[WALD06] Wald, Ingo. Et al. Realtime Ray Tracing and its use for Interactive Global

Referências

Documentos relacionados

Para disciplinar o processo de desenvolvimento, a Engenharia de Usabilidade, também conceituada e descrita neste capítulo, descreve os métodos estruturados, a

Fugiu – forma verbal do verbo “fugir”, no Pretérito Perfeito do Indicativo, na 3.ª pessoa do singular. Forma afirmativa: Eu

Combinaram encontrar-se às 21h

ITIL, biblioteca de infraestrutura de tecnologia da informação, é um framework que surgiu na década de mil novecentos e oitenta pela necessidade do governo

Objetivo: Garantir estimativas mais realistas e precisas para o projeto, ao considerar nesta estimativa o esforço necessário (em horas ou percentual do projeto) para

Ainda segundo Gil (2002), como a revisão bibliográfica esclarece os pressupostos teóricos que dão fundamentação à pesquisa e às contribuições oferecidas por

“O aumento da eficiência e o plano de produção fizeram com que a disponibilidade das células de fabricação aumentasse, diminuindo o impacto de problemas quando do

Este estudo, que tem como objetivo a investigação do imaginário de estudantes de Psicologia sobre o primeiro atendimento clínico, insere-se num