A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Equipe Onildo Ferraz Hélder Manoel Lima e Silva Felipe Batista.

Apresentações semelhantes


Apresentação em tema: "Equipe Onildo Ferraz Hélder Manoel Lima e Silva Felipe Batista."— Transcrição da apresentação:

1

2 Equipe Onildo Ferraz Hélder Manoel Lima e Silva Felipe Batista

3 O que é OpenGL Motivações História Aplicações Pipeline OpenGL x Direct3D Arquitetura do OpenGL Bibliotecas Roteiro

4 O que é opengl?  Open Graphics Library  É a especificação de uma API para programação em computação gráfica.  Em outras palavras, OpenGL define um conjunto de funções fazer aplicações em computação gráfica.

5 OpenGL não é...  Uma linguagem de programação  Não tem comandos para  criação e gerenciamento de janelas  lidar com entradas do usuário  Não tem comandos de alto-nível para  descrição de objetos 3D

6 Motivação  Desenvolver aplicativos gráficos era difícil  Falta de padronização  Esforços duplicados  Era necessário uma plataforma  Abstração de hardware  Portável  Fácil de usar

7 História  PHIGS – anos 80  IRIS GL – final dos anos 80 pela SGI  OpenGL é criado em 1992 – mantido pela OpenGL ARB (Architecture Review Board)  Evans&Sutherland  HP  IBM  Intel  Matrox  NVIDIA  Sun  Silicon Graphics (SGI)  Direct3d – Microsoft 1995  Desde 2006, OpenGL é parte do Khronos Group

8 Evolução  OpenGL 2.0  Substituição do pipeline fixo por shaders  OpenGL Shading Language  OpenGL 2.1  OpenGL Shading Language revision 1.20  sRGB texture formats sRGB  OpenGL 3.0  DirectX 10 level hardware

9 Utilizações no mercado Moonlight Creator Ferramentas CAD

10 Modelagem e Desenho Photopia

11 Visualização e Simulação

12 Hardware-Assisted Rendering glutrad (radiosity, hemicube approximation)

13 Animação e Efeitos Especiais Vídeo do trem do filme “The Prototype”The Prototype NewTek Light Wave 3d

14 Jogos OpenGL Linux Chess Call of Duty Quake 3 Counter Strike

15 Pipeline

16 Objetos definidos no seu proprio sistema de coordenadas Transformaçoes de modelagem orientam os objetos de acordo com um sistema de coordenadas comum UNIVERSO

17 Transformações

18 AS TRANSFORMACOES AFIM PRESERVAM LINHAS PARALELAS

19 Pipeline Modelo de Phong Vetor normal Posição da fonte de luz

20 Modelo de Phong  Emissão: contribuição que não depende de fontes de luz (fluorescência)  Ambiente: contribuição que não depende da geometria  Difusa: contribuição correspondente ao espalhamento da reflexão lambertiano (independe da posição do observador)  Especular: contribuição referente ao comportamento de superfícies polidas

21 Componentes do Modelo de Phong Difusa Especular Ambiente

22 Reflexão Difusa Atenuações…

23 Reflexão Especular

24 Luz Ambiente

25

26 Iluminação - Geometria  A posição dos vértices com relação ao olho e a fonte luminosa contribui no cálculo dos efeitos atmosféricos  O vetor normal é fundamental  Não é calculado automaticamente

27 Posição da fonte de luz

28 Pipeline Coordenadas em relação a câmera Tipos de projeção

29 Pipeline Coordenadas em relação a câmera Tipos de projeção

30 Transformação de câmera

31 Projeções - perspectiva Porção do universo selecionada para visualização Plano de projeção Centro de projeção

32 Projeções - ortogonal

33 Perspectiva X Ortogonal

34 Pipeline Eliminar o que não está dentro do volume de visualização

35 Pipeline Conversão de polígonos para pixels (DISCRETO)

36 Pipeline Eliminar o que está obstruído

37 Pipeline

38 OpenGL x Direct3D  Direct3D é parte da DirectX  API proprietária  Aceleração 3D em hardware  Plataforma Windows  OpenGL  API aberta  Pode usar aceleração 3D em hardware  Maioria dos SO's modernos.

39 OpenGL x Direct3D Portabilidade  D3D  Implementado apenas p/ a família Windows  Incluindo XBOX e Sega Dreamcast  Há tentativas de portar p/ sistemas Unix  Requer engenharia reversa (processo difícil)‏  OGL  Implementado para Windows e UNIX  Mac OS X, Linux, Playstations, Wii, iPhone.  SO's que permitem aceleração 3D: API primária

40 OpenGL x Direct3D Portabilidade  OGL  Windows suporta aceleração por HW apenas após a instalação de um driver da fabricante da GPU

41 OpenGL x Direct3D Facilidade de Uso  No início D3D frustrava muitos programadores.  John Carmack pediu à MS para abandoná-lo em favor do OGL (1997)‏  Após muita evolução, a crítica mudou  John Carmack diz ser uma das melhores APIs com que já trabalhou (2007)‏  OpenGL não teve esse problema

42 OpenGL x Direct3D Linhas diferentes de pensamento  D3D foi feita p/ ser uma interface p/ HW 3D  OGL foi feita p/ ser um sistema de renderização 3D que pode ser acelerado por HW  D3D espera que a aplicação gerencie os recursos de HW  Desenvolvedor aloca os recursos  OpenGL faz o driver gerenciar os recursos de HW

43 OpenGL x Direct3D Linhas diferentes de pensamento  Ambas as APIs provêem aproximadamente o mesmo nível de funcionalidade

44 OpenGL x Direct3D Uso no mercado profissional  OGL sempre dominou o D3D  Muitas placas gráficas suportavam apenas OGL. Hoje em dia é diferente  Razões históricas  Aplicações gráficas originalmente escritas em IRIS GL, e depois portadas para OGL.

45 OpenGL x Direct3D Uso no mercado profissional  Outra razão: Marketing e Design  D3D não foi marketeada nem criada para este propósito  OGL é uma API 3D de propósito mais geral

46 OpenGL x Direct3D Uso no mercado de jogos  No início cada placa aceleradora tinha seu software exclusivo  Tempo da Voodoo da 3dfx e da Matroxx  Software de uma não rodava na outra  OGL e D3D emergiram como competidores  Suporte da indústria a uma biblioteca multi- plataforma  1990: Domínio do OpenGL  Facilidade de uso

47 OpenGL x Direct3D Uso no mercado de jogos  1990: Domínio do OpenGL  Facilidade de uso  2000: Desenvolvedores passaram a preferir D3D  Desde 1990 D3D sofreu várias melhorias  Hegemonia do Windows no mercado de jogos para Desktop

48 OpenGL x Direct3D Uso no mercado de jogos  2005: Chegada da sexta e sétima geração de consoles  De Sega Dreamcast a Playstation 3  O mercado de consoles cresceu muito  Desenvolvimento multi-console passou a ser mais visado  OpenGL -> suportado por todos os consoles, exceto os da Microsoft  OpenGL passou a ser mais interessante

49 Arquitetura do OpenGL  Conjunto de centenas de funções  Acesso a praticamente todos os recursos do HW de vídeo  Internamente é uma máquina de estados  Cada estado diz à placa de vídeo o que fazer  Cuidado com os estados indesejados  Cliente-servidor  Protocolo padronizado

50 Arquitetura do OpenGL  Comandos não são imediatamente jogados para o HW  Otimiza o uso da rede e abre margem p/ outras otimizações

51 Bibliotecas relacionadas ao OpenGL  OpenGL Utility Library (GLU)‏  Fornece diversas rotinas para auxiliar na montagem de matrizes de visualização e projeção, desenho de superfícies e imagens 3D.  Biblioteca fornecida juntamente com todas as implementações do OpenGL  Todas as funções desta biblioteca têm o prefixo glu.

52 Bibliotecas relacionadas ao OpenGL  OpenGL foi feito para ser independente de qualquer sistema de janelas.  Consequentemente não tem comandos para abrir janelas ou ler eventos do teclado e mouse  Infelizmente é impossível escrever um programa gráfico completo sem o uso de ao menos uma janela

53 Bibliotecas relacionadas ao OpenGL  Para cada ambiente de janelas, existe uma biblioteca que estende a funcionalidade do sistema para suportar renderização OGL.  O sistema X possui o GLX  O Windows possui a extensão WGL  O IBM OS/2 tem o PGL

54 Bibliotecas relacionadas ao OpenGL  OpenGL Utility Toolkit (GLUT)‏  Sistema de janela independente de sistema  Criado por Mark Kilgard  Esconde as complexidades das APIs de diferentes ambientes de janelas  Interface simples para a criação de uma aplicação OpenGL

55 Referências  OpenGL Programming Guide (Woo, Neider, Davis - Addison-Wesley )  http://www.humus.ca/index.php?page=News http://www.humus.ca/index.php?page=News  http://www.soe.ucsc.edu/classes/cmps203/Fall04/finalrepo rts/ProjectPaper_JerryYee.pdf http://www.soe.ucsc.edu/classes/cmps203/Fall04/finalrepo rts/ProjectPaper_JerryYee.pdf  http://tools.devshed.com/c/a/Web-Development/OpenGL- vs-DirectX-A-Comparison/ http://tools.devshed.com/c/a/Web-Development/OpenGL- vs-DirectX-A-Comparison/  http://en.wikipedia.org/wiki/Comparison_of_OpenGL_and_ Direct3D http://en.wikipedia.org/wiki/Comparison_of_OpenGL_and_ Direct3D  http://www.xmission.com/~legalize/d3d-vs-opengl.html http://www.xmission.com/~legalize/d3d-vs-opengl.html  http://www.inf.pucrs.br/~manssour/OpenGL/ http://www.inf.pucrs.br/~manssour/OpenGL/  http://www.songho.ca/opengl/gl_pipeline.html http://www.songho.ca/opengl/gl_pipeline.html  http://www.cgl.uwaterloo.ca/~vtluu/Talks/OpenGL/ http://www.cgl.uwaterloo.ca/~vtluu/Talks/OpenGL/  http://www.inf.ufrgs.br/~nedel/inf01047/05-openGL.pdf http://www.inf.ufrgs.br/~nedel/inf01047/05-openGL.pdf  www.cin.ufpe.br/~marcelow www.cin.ufpe.br/~marcelow


Carregar ppt "Equipe Onildo Ferraz Hélder Manoel Lima e Silva Felipe Batista."

Apresentações semelhantes


Anúncios Google