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

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

Noções de Sistemas Operacionais
DCA-0114 Computação Gráfica
Tecnologia Hipermídia e Multimídia
Modo Gráfico x Modo Texto
Sistemas Operacionais
OpenGL Clique para adicionar texto Soraia Musse 6/4/2011.
JOGOS.
António Ramires Fernandes & Luís Paulo Santos – Adaptado por Alex F. V. Machado Computação Gráfica Pipeline Gráfico.
Projeções e OpenGL Alex F. V. Machado.
COMPUTAÇÃO GRÁFICA.
OpenGL Alberto B. Raposo.
INF 1366 – Computação Gráfica Interativa Grafos de Cena
Concepts and Capabilities
Engenharia Reversa É o processo de derivar as especificações lógicas dos componentes do sistema a partir de sua descrição física com auxílio de ferramentas.
The Industry’s Foundation for High Performance Graphics
Computação Gráfica OpenGL.
Aplicação da modelagem 3D no setor Industrial
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.
1 T-Flex permite criar relações entre elementos dos conjuntos através de ligações geométricas. Assim pode-se criar modelos exactos, gerir e editar conjuntos.
Computação Gráfica: Aula6: Iluminação
Sistemas Multimídia e Interface Homem-Máquina
CUDA vs OpenCL Introdução.
Faculdade de Computação Universidade Federal de Mato Grosso do Sul
Estimação da direção de múltiplas fontes de luz Baseado no artigo Estimation of Illuminant Direction and Intensity of Multiple Light Sources, de W. Zhou.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Prof. Leandro da Silva Taddeo
Cluster Beowulf.
Fabíola Guerra Nakamura Vitor Alcântara Batista
Professor: Márcio Amador
Computação Gráfica Introdução ao OpenGL.
S ISTEMAS O PERACIONAIS Prof. André Aparecido da Silva.
Sistemas Operacionais
© 2004 by Pearson Education Computadores: Ferramentas para a Era da Informação Tema 0 PARTE A.
Top Systems Alexandre Kourbatov. 2 T-FLEX é o sistema CAD/CAPP/CAM/CAE/PDM integrado paramétrico que permite fazer preparação construtiva e tecnológica.
Go3D! A 3D Graphics Engine Carlos Tosin. Divisão Estrutura dividida em 4 componentes Core (46 classes) Áudio (4 classes) Script (4 classes) Renderer (37.
Projeto e Implementação de Jogos Eletrônicos
Sistemas Distribuídos
Introdução à Computação Gráfica
Computação Gráfica – Introdução ao OpenGL
Introdução à Multimídia
18/7/2015OpenGl1/24 Grasielle Valença (gval) Marcela Bezerra (mbs) Thiago Burgo (tbb) Paulo Thiago (ptgs) Introdução a Multimídia OpenGL.
ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres
ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv)
PLATAFORMAS MULTIMÍDIA
OGRE 3D Open Source Graphics Engine Seminário Introdução à Multimídia.
O que são, quais existem e suas características.
Perspectivas NVidia para Desktop Tiago Carneiro Pessoa
14/04/2017 MODULO: Sistemas Operacional Aula 06 –Sistemas Operacionais
Realidade Virtual Aula 2 Remis Balaniuk. Enxergando grande, começando pequeno Quem começa a aprender RV normalmente sofre um primeiro impacto negativo.
Felipe Cavalcanti Ferreira Fernando Valente Kakimoto
Infra-Estrutura para Computação Distribuída
CloudSim Um framework para modelagem e simulação de infraestrutura e serviços de Computação em Nuvem.
OpenGL André Chagas Filipe Melo Jacinto Reis Jonathan Soares
Prof. Wallace Borges Cristo
Grupo: Antônio Inocêncio Francisco Ícaro Filipe Araújo Guilherme Barreto Leonardo Vilaça Márcio Dias Thiago Gomes.
Computação Gráfica: Aula6: Iluminação
Apresentação Assuntos : Grids OurGrid
Rendering Por Adinan Aguiar.
Por Anderson Afonso Cardozo UNIVERSIDADE CATÓLICA DE PELOTAS
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Introdução à Computação Gráfica Iluminação
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
VIRTUALIZAÇÃO - INTRODUÇÃO Na área de TI; O que é sistema legado? É o termo utilizado em referência aos sistemas computacionais de uma organização que,
Computação Gráfica - Introdução
UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores Ferramenta NTop (Network Traffic Probe) Explorador.
Web Services / SOA. O cenário de TI nas corporações Novas tendências batiam à porta das corporações Migraram o foco do “gerenciamento de dados” para o.
1 Computação Gráfica Prof. Dr. Júlio C. Klafke UNIP-Objetivo
Transcrição da apresentação:

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

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

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.

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

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

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

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

Utilizações no mercado Moonlight Creator Ferramentas CAD

Modelagem e Desenho Photopia

Visualização e Simulação

Hardware-Assisted Rendering glutrad (radiosity, hemicube approximation)

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

Jogos OpenGL Linux Chess Call of Duty Quake 3 Counter Strike

Pipeline

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

Transformações

AS TRANSFORMACOES AFIM PRESERVAM LINHAS PARALELAS

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

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

Componentes do Modelo de Phong Difusa Especular Ambiente

Reflexão Difusa Atenuações…

Reflexão Especular

Luz Ambiente

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

Posição da fonte de luz

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

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

Transformação de câmera

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

Projeções - ortogonal

Perspectiva X Ortogonal

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

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

Pipeline Eliminar o que está obstruído

Pipeline

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.

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

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

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

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

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

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.

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

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

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

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

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

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

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.

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

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

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

Referências  OpenGL Programming Guide (Woo, Neider, Davis - Addison-Wesley )   rts/ProjectPaper_JerryYee.pdf rts/ProjectPaper_JerryYee.pdf  vs-DirectX-A-Comparison/ vs-DirectX-A-Comparison/  Direct3D Direct3D      