Fundamentos de Computação Gráfica
|
|
|
- Isaac Veiga Figueira
- 9 Há anos
- Visualizações:
Transcrição
1 Fundamentos de Computação Gráfica OpenGL e GLUT António Ramires Fernandes Departamento de Informática - UM 1
2 Bibliotecas OpenGL (Open Graphics Library) Funcionalidade Gráfica GLU (GL Utilities) Funcionalidade Extra, ao nível gráfico GLUT (GL Utility Toolkit) Construção de aplicações independentes do sistema de janelas (Win, XWin) GLUI (GLUT-Based User Interface) Biblioteca para construção de interfaces gráficas Informática - UM 2
3 Bibliotecas GLUT Ficheiros: glut.h, glut32.lib, glut32.dll glut.h: colocar na directoria dos includes em GL/ glut32.lib: colocar na directoria das libs glut32.dll: system (win98) ou system32 (Win NT ou XP) GLUI Ficheiros: glui32.lib (é necessário compilar) Informática - UM 3
4 Headers necessários Com GLUT #include <GL/glut.h> Sem GLUT #include <GL/glu.h> #include <GL/gl.h> Informática - UM 4
5 Programação Orientada ao Evento Define-se uma acção para cada evento relevante para a aplicação Exemplos de eventos: Tecla premida Rato movido Janela redimensionada Rato entrou na janela Informática - UM 5
6 Programação Orientada ao Evento A aplicação é controlada pelo sistema gestor de janelas. É necessário definir um conjunto de funções para processar os eventos e regista-las funções no sistema. Informática - UM 6
7 Programação em GLUT void main(int argc, char **argv) { inicializar o GLUT e a janela registo de funções para processar eventos (callbacks) } entrar no ciclo de processamento do GLUT Informática - UM 7
8 Programação em GLUT void main(int argc, char **argv) { // processo de inicialização e definição da janela //Registo de callbacks // entrada no ciclo de processamento do GLUT } glutmainloop(); Informática - UM 8
9 GLUT - Inicialização glutinit(&argc, argv); Função a invocar para inicializar o GLUT. OS argumentos recebidos são os mesmos que são recebidos na função main. Informática - UM 9
10 GLUT - Inicialização glutinitdisplaymode(...); Define um conjunto de características do output da janela e do processamento gráfico (mais sobre isto nas aulas teóricas) Por enquanto considerar o parâmetro da função como sendo: GLUT_DEPTH GLUT_DOUBLE GLUT_RGBA Informática - UM 10
11 GLUT - Inicialização glutinitwindowposition(100,100); Posição do canto superior esquerdo em coordenadas do ecrã. Estes valores são um mero pedido, podendo ser ignorado pelo sistema gestor de janelas. Informática - UM 11
12 GLUT - Inicialização glutinitwindowsize(320,320); Dimensão da janela (largura,altura) em pixels. Tal como na função anterior, as dimensões fornecidas são um mero pedido. Informática - UM 12
13 GLUT - Inicialização glutcreatewindow("mcgav@di"); Função que cria a janela. Note-se que a janela só será visível quando for invocado o método: glutmainloop(); Informática - UM 13
14 Registo de Callbacks glutdisplayfunc(nome_função); A função utilizada deve ser a responsável por desenhar o conteúdo da janela. É obrigatório o registo desta função. A função cujo nome é fornecido tem a seguinte assinatura: void nome_função(void); Informática - UM 14
15 Registo de Callbacks glutreshapefunc(nome_função); Indicado para registar a função que será responsável por manter as proporções e dimensões do conteúdo da janela em caso de redimensionamento. A função registada também será invocada inicialmente, quando se cria a janela. Assinatura da função registada: void nome_função(int largura, int altura); Informática - UM 15
16 Registo de Callbacks glutidlefunc(nome_função); A função registada aqui será invocada quando o sistema não estiver a processar outros eventos. Pode-se utilizar para realizar animações. No entanto deve-se minimizar a carga desta função de modo a permitir a interactividade. Assinatura da função registada: void nome_função(void); Informática - UM 16
17 Ciclo de Processamento do GLUT glutmainloop(); Ao invocar esta função estamos a entrar no ciclo de processamento do GLUT. A partir daqui o controle da aplicação é da responsabilidade do GLUT. O GLUT invocará as funções registadas quando for necessário ou quando estiver à espera de eventos (glutidlefunc). Informática - UM 17
18 GLUT - Primitivas Geométricas glutsolidsphere(float raio,int fatias,int camadas); glutwiresphere(float raio,int fatias,int camadas); Informática - UM 18
19 GLUT - Primitivas Geométricas glutsolidcube(float dimensão); glutwirecube(float dimensão); Informática - UM 19
20 GLUT - Primitivas Geométricas glutsolidcone(float raiobase, float altura, int fatias,int camadas); glutwirecone(float raiobase, float altura, int fatias,int camadas); Informática - UM 20
21 GLUT - Primitivas Geométricas glutsolidtorus(float raiointerior, float raioexterior, int numlados,int aneis); glutwiretorus(float raiointerior, float raioexterior, int numlados,int aneis); Informática - UM 21
22 GLUT - Primitivas Geométricas glutsolidicosahedron(void); (20 lados) glutwireicosahedron(void); glutsoliddodecahedron(void); (12 lados) glutwiredodecahedron(void); glutsolidoctahedron(void); (8 lados) glutwireoctahedron(void); glutsolidtetrahedron(void); (6 lados) glutwiretetrahedron(void); Informática - UM 22
23 GLUT - Primitivas Geométricas glutsolidteapot(float dimensão); glutwireteapot(float dimensão); Informática - UM 23
24 Exercício prático Completar o esqueleto fornecido para criar uma aplicação em OpenGL + GLUT. Esta aplicação desenhará um pote de chá em modo wireframe com linhas brancas sobre um fundo preto. Alterar de forma contínua a dimensão do pote de chá (utilizando por exemplo a função seno), criando desta forma uma animação básica. Experimentar com as outras primitivas. Informática - UM 24
Desenho de uma matriz de retângulos Serve de base para o exercício das cores
Desenho de uma matriz de retângulos Serve de base para o exercício das cores Leandro Tonietto Processamento Gráfico - Unisinos [email protected] http://professor.unisinos.br/ltonietto 19-Mar-2014 Leandro
Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 2. Introdução a OpenGL
Computação Gráfica Engenharia de Computação CEFET/RJ campus Petrópolis Prof. Luis Retondaro Aula 2 Introdução a OpenGL OpenGL básico OpenGL (Open Graphical Library) Uma API para geração de gráficos 3D
n À primeira vista: basta desenhar n Uma subrotina para desenhar cada tipo de objeto n Mas... n Como fazer interação? n Como estruturar a cena?
Programação Gráfica Computação Gráfica OpenGL Renato Ferreira À primeira vista: basta desenhar Uma subrotina para desenhar cada tipo de objeto Mas... Como fazer interação? Como estruturar a cena? Como
LAB. 1. Introdução à OpenGL
LAB. 1 Introdução à OpenGL OpenGL O que é? É uma biblioteca de funções gráficas. É uma API (Application Programming Interface) gráfica 2D e 3D Primitivas vectoriais e rasterizadas (imagens) Capaz de gerar
Computação Gráfica OpenGl 01
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica OpenGl 01 Prof. Jorge Cavalcanti [email protected] www.univasf.edu.br/~jorge.cavalcanti
Introdução a OpenGL. Renato Rodrigues Oliveira da Silva Danilo Medeiros Eler
Introdução a OpenGL Renato Rodrigues Oliveira da Silva Danilo Medeiros Eler Adaptado do material de Marcela X. Ribeiro Maria Cristina F. de Oliveira Rosane Minghim Sumário Introdução Núcleo OpenGL, GLU,
Introdução a OpenGL. Profª. Alessandra Martins Coelho
Introdução a OpenGL Profª. Alessandra Martins Coelho março/ 2013 OpenGL OpenGL é uma API gráfica que permite a criação de imagens gráficas 2D e 3D, através da definição de objetos (2D/3D) por um conjunto
Programação Gráfica Cap 2
Programação Gráfica (2.2 a 2.7) Instituto Superior Técnico, 2006/2007 Índice Programação 2D Sistemas de Coordenadas API do OpenGL Primitivas e Atributos Introdução à Cor Projecções Interacção com o Sistema
OpenGL, GLU e GLUT. GLUT (OpenGL Utility Toolkit) OpenGL. Linguagem. OpenGL. Esqueleto de um programa em PyOpenGL
OpenGL, GLU e GLUT http://www.opengl.org/resources http://pyopengl.sourceforge.net GLUT (OpenGL Utility Toolkit) O GLUT é uma biblioteca de rotinas independentes do SO, que fornecem as ferramentas necessárias
Introdução à Programação em OpenGL. Prof. Márcio Bueno {cgtarde,cgnoite}@marciobueno.com
Introdução à Programação em OpenGL Prof. Márcio Bueno {cgtarde,cgnoite}@marciobueno.com OPENGL (Open Graphical Library) OpenGL é uma interface de software (API Aplication Program Interface) para aceleração
OpenGL. O que é OpenGL. O Pipeline do OpenGL. Listas de Exposição
OpenGL O que é OpenGL OpenGL é uma interface de software para dispositivos de hardware. Esta interface consiste em cerca de 150 comandos distintos usados para especificar os objetos e operações necessárias
OpenGL. Introdução ao OpenGL. Sistemas de Coordenadas. OpenGL 29/04/2010. Profa. M. Cristina Profa. Rosane. Application Programming Interface (API)
OpenGL Introdução ao OpenGL Profa. M. Cristina Profa. Rosane Application Programming Interface (API) Coleção de rotinas que o programador pode chamar Modelo de como estas rotinas operam em conjunto para
Introdução à OpenGL. SCC0250/ Computação Gráfica
Introdução à OpenGL SCC0250/0650 - Computação Gráfica Prof. Rosane Minghim https://edisciplinas.usp.br/course/view.php?id=61213 https://edisciplinas.usp.br/course/view.php?id=61210 P.A.E. Diego Cintra
FCG2006 Prova sobre OpenGL e Rastreamento de Raios
FCG2006 Prova sobre OpenGL e Rastreamento de Raios Aluno(a): matrícula: 1. O programa SimpleLight.c mostrado no Quadro 1 produz a janela mostrada na Figura 1. A partir do código, calcule coordenadas na
INTRODUÇÃO A OPENGL. Computação Gráfica
INTRODUÇÃO A OPENGL Computação Gráfica OpenGL (Open Graphic Library) Biblioteca de rotinas gráficas e de modelagem, bi e tridimensional, extremamente portável e rápida. Não é uma linguagem de programação,
Introdução ao OpenGL e à Programação Baseada em Eventos
Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Introdução ao OpenGL e à Programação Baseada em Eventos Edward Angel, Cap. 2 API Gráfica Interface de software para hardware
Cap. 4: Janelas, Visores & Recorte Gráfico
Cap. 4: Janelas, Visores & Recorte Gráfico Sumário Definições básicas: sistema de coordenadas globais, sistema de coordenadas do ecrã; janela de domínio de cena; janela de interface e visores de saída
Introdução a Prática em OpenGL
Introdução a Prática em OpenGL Universidade de São Paulo USP Disciplina de Computação Gráfica Profª Maria Cristina PAE: Thiago Silva Reis Santos Agosto de 2010 Sumário Bibliotecas Necessárias Instalação
Programação Gráfica 2D com OpenGL (Aulas 22, 24 e 25)
MC102 Introdução à Programação de Computadores Programação Gráfica 2D com OpenGL (Aulas 22, 24 e 25) Felipe P.G. Bergo 1 Introdução OpenGL é uma biblioteca de funções utilizada para programar gráficos.
Transformações Geométricas
Transformações Geométricas Computação Gráfica Motivação! Transformações geométricas! Translação, Rotação, Reflexão! Variação de Tamanho (scaling), Cisalhamento (shearing)! Projecção Ortogonal, Projecção
Computação Gráfica II
Computação Gráfica II Revisão Introdução ao OpenGL Prof. Rodrigo Rocha [email protected] http://www.bolinhabolinha.com Informações Bibliografia GOMES, J. e VELHO, L. Computação Gráfica: Volume
Computação Gráfica - 04
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - 04 Prof. Jorge Cavalcanti [email protected] www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
OpenGL. http://www.opengl.org. Alberto B. Raposo
OpenGL http://www.opengl.org Alberto B. Raposo OpenGL: o que é? API Interface para programador de aplicação Aplicação API abstrata API Hardware & Software Dispositivo de saída Dispositivo de entrada Por
Computação Gráfica. Licenciatura em Engenharia Informática e de Computadores Taguspark / Alameda. Primeiro Teste 17 de Março de 2012
Computação Gráfica Licenciatura em Engenharia Informática e de Computadores Taguspark / Alameda Primeiro Teste 7 de Março de O teste tem a duração de h, tolerância incluída. Responda às questões unicamente
Computação Gráfica. 5385: Licenciatura em Engenharia Informática. Cap. 3 Janelas e Visores. Janelas e Visores
Computação Gráfica 5385: Licenciatura em Engenharia Informática Cap. 3 Janelas e Visores Janelas e Visores Sumário Definições domínio de imagem (ecrã) janela de ecrã domínio da cena (IR 2 ) janela visor
Sistemas de Interfaces com o Usuário e OpenGL (com IUP ou GLUT)
Sistemas de Interfaces com o Usuário e OpenGL (com IUP ou GLUT) Objetos de comuns interface Modelo de Programação Dispositivos Toolkit de Interface (GLUT, SDK,... ) Sistema Gráfico (OpenGL, Direct3D,...)
Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009
Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009 Ao desenvolver os seguintes programas tenha em atenção o bom uso dos comentários, o uso da indentação e o correcto nome
Capítulo 3 Primeiros Passos em OpenGL Função Desenha Função Teclado Função Inicializa Programa Principal...
Sumário Prefácio...15 Capítulo 1 Introdução...17 Capítulo 2 Instalação...22 2.1 Visão Geral das Bibliotecas OpenGL...22 2.2 Bibliotecas Necessárias para Execução...24 2.3 Bibliotecas Necessárias para Compilação...24
Introdução ao OpenGL. Professora: Maria Cristina Ferreira de Oliveira. Erick Gómez Nieto Agosto, 2011 Introdução ao OpenGL
Professora: Maria Cristina Ferreira de Oliveira PAE: Erick Gómez Nieto [email protected] 1 Introdução as API s Gráficas API (Application programming interface) Interface implementada por um programa
CG 2013/2014 Primeiro Teste LEIC Alameda/Taguspark
Computação Gráfica Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark Primeiro Teste 6 de Outubro de 013 O teste tem a duração de 1h00, tolerância incluída. Responda às questões
INF01046 Fundamentos de Processamento de Imagens Semestre Turma A. Prof. Manuel M. Oliveira
INF01046 Fundamentos de Processamento de Imagens Semestre 2003.2 Turma A Prof. Manuel M. Oliveira 1 o Trabalho de Implementação Data: 06/10/03 Total de Pontos do Trabalho: 100 Data de Entrega: 20/10/03
Computação Gráfica. Introdução. Tomás A. C. Badan
Computação Gráfica Introdução Tomás A. C. Badan Definição ISO (International Organization for Standardization) Um conjunto de ferramentas e técnicas para converter dados para ou de um dispositivo gráfico
OpenGL. Computação Gráfica ISEL/DEETC/SP Computação Gráfica
OpenGL Computação Gráfica CG @ 2007 ISEL/DEETC/SP Computação Gráfica 1 Jellys Tetris Gorillas PacMan Sokoban 3 Sumário Introdução ao OpenGL (capítulos 1 e 2 do red book) O que é? Sintaxe Máquina de estados
OpenGL. Introdução ao OpenGL. OpenGL. OpenGL. OpenGL. OpenGL. Profa. M. Cristina Profa. Rosane
OpenGL Introdução ao OpenGL Profa. M. Cristina Profa. Rosane Application Programming Interface (API) Coleção de rotinas que o programador pode chamar do seu programa Modelo de como estas rotinas operam
Conceitos importantes da Computação Gráfica [3]
Programa de Educação Tutorial Ciência da Computação - UFRN Minicurso Agosto de 2012 Conceitos importantes da Computação Gráfica [3] Computação Gráfica é a área da Ciência da Computação que estuda a geração,
INF01046 Fundamentos de Processamento de Imagens. Prof. Manuel M. Oliveira
INF01046 Fundamentos de Processamento de Imagens Prof. Manuel M. Oliveira 1 o Trabalho de Implementação Total de Pontos do Trabalho: 100 OBJETIVO O objetivo deste trabalho é familiarizar os estudantes
Sobre o Visual C++ 2010
O Visual Studio é um pacote de programas da Microsoft para desenvolvimento de software, suportando diversas linguagens como C#, C++, C, Java, Visual Basic, etc. Nesta série de tutoriais vou focar apenas
Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 1o. Semestre de 2017 Prof.
Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 1o. Semestre de 2017 Prof. Renato Pimentel Prática 02 Java básico Atividade individual. Crie um novo projeto
Programação Orientada a Objectos - P. Prata, P. Fazendeiro
3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem
Aula Prática Laboratorial n.º 8, nº 9 e nº 10
Aula Prática Laboratorial n.º 8, nº 9 e nº 10 Sumário Tutorial Nate Robins texture. Programa C/OpenGL labirinto baseado no template Aula8_template.cpp Tutorial Nate Robins textures Execute o tutorial texture
Implementação de uma biblioteca gráfica multiplataforma utilizando OpenGL e GLFW.
Universidade Federal de Uberlândia - UFU Faculdade de Computação Bacharelado em Sistemas de Informação Implementação de uma biblioteca gráfica multiplataforma utilizando OpenGL e GLFW. William Johnson
- INF Remoção de faces ocultas Aula 21
Geração da imagem - INF007- Remoção de faces ocultas Aula Dada a representação vetorial de um objeto, como apresentá-lo na tela por pontos? Imagem aramada Exibição de faces Dada a representação vetorial
Computação Gráfica. Prof. André Yoshimi Kusumoto
Computação Gráfica Prof. André Yoshimi Kusumoto [email protected] Representação da Imagem A representação vetorial das imagens é principalmente empregada para a definição e modelagem dos objetos
Pedro Vasconcelos DCC/FCUP. Programação Funcional 11 a Aula Gráficos usando Gloss
Programação Funcional 11 a Aula Gráficos usando Gloss Pedro Vasconcelos DCC/FCUP 2014 A biblioteca Gloss Para fazer desenhos, animações, simulações e jogos 2D; Simples: pensada para ensino de programação;
Linguagem de Programação III
Linguagem de Programação III Aula-4 Construtores e Sobrecarga Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de dados nativos em Java
Introdução a Programação. Tipos Estruturados de Dados
Introdução a Programação Tipos Estruturados de Dados Tópicos da Aula Hoje aprenderemos a trabalhar com tipos de dados mais complexos Tipos Primitivos x Tipos Estruturados Conceito de Tipos Estruturados
FUNDAMENTOS E APLICAÇÕES. Luis Valente
FUNDAMENTOS E APLICAÇÕES Luis Valente 1 DIÁRIO DE BORDO OpenGL Aplicações Usando OpenGL Sistema de Janelas Primitivas Cores e Sombreamento Transformações e Projeções Composição de Objetos Mapeamento de
Aula 28: Arquivos de texto
Aula 28: Arquivos de texto Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Baseado nos slides de Guillermo Cámara-Chávez Aulas anteriores Memória Ponteiro Utilização
Programação. Folha Prática 5. Lab. 5. Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved.
Programação Folha Prática 5 Lab. 5 Departamento de Informática Universidade da Beira Interior Portugal 2015 Copyright 2010 All rights reserved. 1. Revisão. 2. Objectivos. 3. Exercícios LAB. 5 5ª semana
Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN
Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores Prof.: Bruno E. G. Gomes IFRN 1 Introdução Na aula de hoje: Declaração de classes Métodos Construtores Exercícios de criação
Aula 27: Estruturas heterogêneas e alocação dinâmica
Aula 27: Estruturas heterogêneas e alocação dinâmica Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Memória
OpenGL. Sumário COMPUTAÇÃO GRÁFICA E INTERFACES. Introdução. Introdução. Carlos Carreto
Sumário COMPUTAÇÃO GRÁFICA E INTERFACES OpenGL Carlos Carreto Curso de Engenharia Informática Ano lectivo 2003/2004 Escola Superior de Tecnologia e Gestão da Guarda Introdução Utilização Tipos de dados
CRAb Grupo de Computação Gráfica Departamento de Computação UFC
Computação Gráfica I CRAb Grupo de Computação Gráfica Departamento de Computação UFC Objetivos Estudar equipamentos, técnicas de programação e conceitos matemáticos Para representação, manipulação e projeção
Sistemas Gráficos Interativos. Interações
Sistemas Gráficos Interativos Rogers & Adams: Capítulo 1 Redbook: Capítulo 1 Apostila: Capítulo 2 Interações Computador suporte em processamentos Símbolos gráficos Processamento humano Interagir com o
ORIENTAÇÃO DA MONOGRAFIA: PROF. MARCELO F. PORTO COORDENAÇÃO DA DISCIPLINA: PROF.ª MAGALI MARIA DE ARAÚJO BARROSO
!"#!$ ORIENTAÇÃO DA MONOGRAFIA: PROF. MARCELO F. PORTO COORDENAÇÃO DA DISCIPLINA: PROF.ª MAGALI MARIA DE ARAÚJO BARROSO !"#!$ %& '(& )*+'(,( Monografia apresentada como requisito parcial do Trabalho de
Computação Gráfica - OpenGl 02
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - OpenGl 02 Prof. Jorge Cavalcanti [email protected] www.univasf.edu.br/~jorge.cavalcanti
PLANIFICAÇÃO
PLANIFICAÇÃO 2016-2017 DISCIPLINA: Técnicas de Programação CURSO: Vocacional Informática e Tecnologias Web 2 Módulo V: Fundamentos de linguagem JAVA CONTEÚDOS/CONCEITOS Programação orientada por objetos
