Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os...

24
Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Enquadramento e Conceitos Fundamentais © 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL Edward Angel, Cap. 1

Transcript of Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os...

Page 1: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

Licenciatura em Engenharia Informática e de Computadores

Computação Gráfica

Enquadramento eConceitos Fundamentais

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Edward Angel, Cap. 1

Page 2: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEICCG

Introdução à Computação GráficaEnquadramento e Conceitos Fundamentais

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Page 3: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CGO que é Computação Gráfica?

Uso de computadores para criação e manipulação de imagens

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Shirley etal. 2009

Preocupa-se com todos os aspectos da produção de imagens usando computadores

Edward Angel, 2009

Page 4: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CGComo se cria uma imagem?

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

… isto em CG.

Page 5: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CGComo se cria uma imagem?

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

No mestrado!!!

Page 6: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CGÁreas da Computação Gráfica

� Modelação (modelling)� Trata da especificação matemática da forma e aparência,

• Para ser armazenada em computador

� Representação (rendering)� Foca a criação de imagens a partir de modelos

� Animação (animation)� Permite dar a ilusão de movimento recorrendo a sequência

de imagens

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Page 7: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CG

Vídeo

Catmull and Parke, Univ. Utah, 1972

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Page 8: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CG+ Áreas da Computação Gráfica� Interacção Pessoa-Máquina

� Foca a forma como os utilizadores interagem com os sistemas(computadores e não só)

� No 2º ano há uma cadeira dedicada a esta área

� Realidade Virtual� Pretende oferecer ao utilizador a sensação de imersão num

mundo virtual

� Visualização� Estuda formas de representar informação complexa usando

dispositivos visuais

� ....

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Page 9: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CGSistemas Gráficos Interactivos� Nasceram na década de 1960

� Desenvolveram-se na década de 1970

� Globalizaram-se entre 1980~1995

� O modelo original mantem-se actual� Conceptualmente correcto� Funcionalmente aplicável

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

SketchPAD (1963)IBM2250 (1964)

Xerox STAR (1981)

Apple iPhone(Actualidade)

Page 10: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CG

Sistema Gráfico InteractivoPerspectiva de Hardware

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Page 11: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CG

Dispositivo de Saída

Unidade Vectorial

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Interface c/ unidade de processamento central (“host”)

.

.MOVE

1015

LINE400300

CHARLucyLINE

.

.JMP

Controlo de Ecrã

Me

mór

ia d

e r

efr

esc

am

ent

o

Lucy

Comandos de visualização

Page 12: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CGPostScript ou Logomoveto (0, 0)lineto (5, 0)lineto (5, 5)lineto (0, 5)lineto (0, 0)

� Desenho de?

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Page 13: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CG

Dispositivo de Saída

Unidade de Quadrícula

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Comandos de visualização

Controlador de Ecrã

Controlador de Vídeo

00000000000000000000000000000000000000000011110000000000000000000011111100000000000000000011111111000000000000000000111111000000000000000000001111000000000000000000000000000000011111111000000000000000001111111100000000000000000111111110000000000000000000000000000000000000000

Page 14: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CGDispositivos Gráficos

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Vectorial Quadrícula

Page 15: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CG

Dispositivos Gráficos

Vectorial vs Quadrícula� Uns têm

� Pontos na imagem (pixéis, quadrículas)

� Representação discreta – provoca aliasing

• Resolução dada em NxM quadrículas

� Nº de cores variável (mas enorme)

� Outros têm� Dimensões em unidades de comprimento

� Representação contínua – não há aliasing

• Precisão dada em X mm

� Número de cores normalmente limitado

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Page 16: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEICCG

Conceitos BásicosEnquadramento e Conceitos Fundamentais

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Page 17: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CGAPI Gráfica� Componente chave de um sistema gráfico

� Colecção de funções para realizar operações básicas� Desenhar imagens

� Representar superfície 3D

� Existem duas abordagens� Integrada:

• Suporte gráfico e UI fazem parte da própria linguagem (Java 3D)

� Independente:• Suporte gráfico fornecido por biblioteca especifica (OpenGL, DirectX)

• Pode ser ligado a diversas linguagens (C++, C#, Python)

• Usando UI’s distintas (Qt)

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Page 18: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CGPipeline Gráfico

“Peça” fundamental para representação gráficaSub-sistema de software/hardware

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Page 19: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CGPipeline Gráfico

� Permite desenhar primitivas 3D num dispositivo 2D� Nota: Óculos estereoscópicos não são mais que dois

dispositivos de visualização 2D a trabalhar em conjunto

� Computadores actuais possuem Pipeline 3D� Incluindo alguns dispositivos móveis

Page 20: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CGPipeline Gráfico 3D

� Trabalha no espaço 4D (coordenadas homogéneas)� A utilização deste espaço é essencial para a eficiência de

todo o processo

� A sua compreensão é fundamental

� Geralmente optimizado para processar triângulos � com vértices partilhados

� Desempenho depende, em grande parte, do número de triângulos que podem ser desenhados por frame

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Page 21: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CGFrame

� Computação gráfica em tempo real� Baseia-se na representação sequencial de imagens estáticas

(tal como no cinematógrafo de Lumiére em 1890)

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Page 22: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CGFrame

� Objectivo da computação gráfica em tempo real é� Gerar um conjunto de imagens a partir de uma cena

� A cada uma destas imagens dá-se o nome de frame

� Número de imagens (frames) que o sistema produz• Indica desempenho de sistema gráfico

• Unidade de Medida: fps - frames per second

• Quanto mais elevada, melhor (>25fps)

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Page 23: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CGComputação Gráfica Interactiva

� Objectivo da computação gráfica interactiva é� Não apenas gerar frames em tempo real

� Mas dar ao utilizador o controlo do que está a ver• O resultado produzido depende do input do utilizador

© 2013 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

?Edward Angel, Cap. 2

Page 24: Enquadramento e Conceitos Fundamentais · Foca a forma como os utilizadores interagem com os sistemas ... (Java 3D) Independente: ... dispositivos de visualização 2D a trabalhar

LEIC CGNa próxima aula

Introdução ao OpenGL

Introdução às APIs gráficas

Estrutura e Bibliotecas OpenGL

Programação baseada em acontecimentosDesenhar objectos geométricos

© 2014 Corpo docente de Computação Gráfica / CG&M / DEI / IST / ULisboa

Edward Angel, Cap. 2