Programação Gráfica 2D com OpenGL (Aulas 22, 24 e 25)
|
|
|
- Cássio da Cunha Lopes
- 9 Há anos
- Visualizações:
Transcrição
1 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. O objetivo do OpenGL é uniformizar os comandos e primitivas geométricas usados para fazer desenhos, de forma que os fabricantes de hardware possam projetar processadores de vídeo (GPUs Graphical Processor Unit) otimizados para as primitivas de desenho usadas pelos programadores. Hoje a programação de gráficos é dominada por duas bibliotecas: OpenGL (mais antiga, compatível com vários sistemas operacionais e ambientes de programação) e DirectX (proprietária da Microsoft, usada apenas no Windows e no videogame XBox, da própria Microsoft). OpenGL não tem funções para abrir uma janela, ajustar o tamanho da janela ou obter toques no teclado, pois isto ainda é dependente do sistema operacional. Uma tentativa de deixar o OpenGL totalmente independente do sistema é a biblioteca GLUT, que define funções simples para realizar estas operações de forma compatível com todos os sistemas. As duas principais referências para OpenGL são os livros vermelho (Programming Guide) e azul (Reference Guide). Ambos os livros estão disponíveis online no site do OpenGL ( opengl.org), na seção de documentação (Documentation). 2 Inicialização da GLUT e OpenGL O programa abaixo abre uma janela de 640 por 480 pixels. #include <GL/glut.h> int main(int argc, char **argv) { glutinit(&argc,argv); glutinitdisplaymode(glut_rgba GLUT_DOUBLE); glutcreatewindow("gl Exemplo 1"); glutreshapewindow(640,480); 1
2 glviewport(0.0,0.0,640.0,480.0); glmatrixmode(gl_projection); glloadidentity(); gluortho2d(0.0,640.0,480.0,0.0); glmatrixmode(gl_modelview); glloadidentity(); glutmainloop(); return 0; } O comando include pode variar entre ambientes de programação. Na seção final deste documento há explicações de como compilar programas OpenGL em vários ambientes. A primeira chamada, glutinit, inicializa a GLUT, avisando que nosso programa utilizará a biblioteca. Os parâmetros de linha de comando argc e argv precisam ser passados para glutinit (ponteiro para argc e o próprio argv). A segunda chamada, glutinitdisplaymode, ajusta o modo de exibição, que será com cor RGBA (RGB mais um canal de transparência, que é a forma mais eficiente pois já é implementada no hardware da maioria das placas de vídeo) e usando double-buffering. Double-buffering é uma técnica de atualização de tela na qual sempre temos duas telas no OpenGL: a tela que está sendo exibida e a tela que está sendo desenhada. Quando terminamos de desenhar, faremos uma operação de Swap (troca), exibindo a tela que era de desenho e usando a outra tela para desenhar. Esta técnica evita que os passos do desenho sejam vistos pelo usuário antes de terminar cada quadro. As chamadas glutcreatewindow e glutreshapewindow criam uma janela e a redimensiona para o tamanho dado. Em vez de glutreshapewindow, poderíamos chamar glutfullscreen(); para usar a tela toda do computador (como a maioria dos jogos). As seis chamadas seguintes estabelecem o sistema de coordenadas de desenho e sua relação com a janela ou tela do computador. Neste curso usaremos OpenGL apenas para desenhos 2D simples, e estas chamadas estabelecem um sistema cartesiano ortogonal com origem no canto superior esquerdo da janela (ou tela), indo de 0 a 640 (eixo X) e 0 a 480 (eixo Y). Para maiores informações sobre transformações de vista, veja o capítulo 3 do livro vermelho. A última chamada, glutmainloop, não retorna: ela executa o loop de eventos da GLUT, que espera eventos (a janela ser redimensionada, precisar ser repintada, algum temporizador ser chamado, uma tecla ser apertada, o mouse ser movido, etc.) e executa ações baseadas nos eventos. Para que nosso programa faça algo de útil devemos registrar tratadores de eventos antes de chamar glutmainloop. O principal tratador é o evento display, que é o evento que desenhará o conteúdo da janela. Para registrar o evento de display, usamos a função glutdisplayfunc: 2
3 glutdisplayfunc(display); Onde display (o nome pode ser qualquer um) deve ser uma função previamente declarada, sem parâmetros e com retorno void, que será chamada para desenhar a tela sempre que necessário. 3 Primitivas de Desenho A função que trata o evento display deve limpar a tela de desenho com a chamada glclear(gl_color_buffer_bit); desenhar o conteúdo da janela ou tela o mais rápido possível (sem realizar operações demoradas, como acesso a arquivos) e então chamar glutswapbuffers(); para trocar a tela exibida com a tela de desenho. Se, em algum momento o seu programa precisar forçar a tela a ser redesenhada, você não deve chamar a função de display diretamente. Em vez disso, chame glutpostredisplay();, que fará o laço de eventos da GLUT repintar a tela assim que possível. Chamar esta função de dentro da função de display pode causar um loop infinito, cuidado. 3.1 Primitivas Vetoriais A forma mais simples de desenhar com OpenGL é com primitivas vetoriais. Estas primitivas traçam algum tipo de desenho a partir de um conjunto de vértices. No nosso caso, os vértices terão coordenadas de duas dimensões, e serão criados com as funções void glvertex2i(int x,int y); void glvertex2f(float x,float y); A única diferença entre as duas é a especificação das coordenadas como inteiros ou como valores de ponto flutuante. Cada vértice tem uma cor associada. Ao ser criado, o vértice assume a cor atual. A cor atual pode ser modificada com as chamadas void glcolor3f(float r,float g,float b); void glcolor3ub(unsigned byte r, unsigned byte g, unsigned byte b); 3
4 A versão 3f usa valores entre 0.0 e 1.0 para as componentes R (Red), G (Green) e B (Blue) da cor. A versão 3ub usa valores entre 0 e 255. O Capítulo 5 do livro vermelho tem uma tabela com os intervalos de valores para outras versões de glcolor. As primitivas de desenho são delimitadas por comandos glbegin e glend: glcolor3f(1.0,0.0,0.0); glbegin(gl_points); glvertex2i(10,10); glvertex2i(20,20); glend(); A primitiva GL POINTS apenas pinta os pontos de cada vértice isoladamente. OpenGL oferece 10 primitivas de desenho (Fig. 1). Figura 1: Primitivas de desenho geométrico do OpenGL. Caso os diferentes vértices de uma figura tenha cores diferentes, o OpenGL realizará uma interpolação de cores no seu interior. A Fig. 2 mostra o resultado gerado por glbegin(gl_triangles); glcolor3f(1.0,0.0,0.0); glvertex2i(10,200); glcolor3f(0.0,1.0,0.0); glvertex2i(500,20); 4
5 glcolor3f(0.0,0.0,1.0); glvertex2i(400,400); glend(); Figura 2: Triângulo com vértices de cores diferentes (vermelho, verde e azul). 4 Tratadores de Eventos Alguns outros eventos que vamos querer tratar via GLUT: teclas normais do teclado (glutkeyboardfunc), teclas especiais do teclado (glutspecialfunc), botões do mouse (glutmousefunc) e temporizações (gluttimerfunc). Os protótipos abaixo indicam os tipos de retorno e dos parâmetros da função a ser passada. A sintaxe para ponteiros de funções em protótipos é estranha mesmo. void glutmousefunc(void (*func)(int button, int state, int x, int y)); void glutkeyboardfunc(void (*func)(unsigned char key, int x, int y)); void glutspecialfunc(void (*func)(int key, int x, int y)); void gluttimerfunc(unsigned int msecs, void (*func)(int value), value); Na glutmousefunc, a função passada deve receber 4 parâmetros: button, state, x, e y.button terá um dos valores GLUT LEFT BUTTON, GLUT MIDDLE BUTTON ou GLUT RIGHT BUTTON, de acordo com o botão acionado. state será ou GLUT UP ou GLUT DOWN, indicando se o botão está sendo pressionado ou solto. A função será chamada em ambos os casos (quando o botão é apertado e quando ele é solto). Os parâmetros x e y contêm as coordenadas da janela em que o evento ocorreu. Na glutkeyboardfunc, a função recebe o caractere gerado pela tecla pressionada. Os parâmetros x e y recebem a posição do mouse na janela no momento do pressionamento da tecla. A função registrada com glutspecialfunc é semelhante, e recebe eventos de teclas não-imprimíveis, como 5
6 teclas de função e setas de direção. Uma lista das constantes de teclas está listada na documentação da GLUT ( mas são constantes do tipo GLUT KEY F1, GLUT KEY LEFT, etc. Na gluttimerfunc, a função passada será chamada após msecs milissegundos. Se a própria função se rearmar (chamando gluttimerfunc para si mesma), isto fará com que a função seja chamada periodicamente. Isto é a forma ideal de fazer animações e verificações periódicas. Caso a função temporizada precise forçar o redesenho da tela, deve fazê-lo com glutpostredisplay() (e nunca chamando a função de display diretamente). Na maioria dos computadores, dificilmente será possível usar tempos abaixo de 50 milissegundos. 5 Listas OpenGL permite que gravemos listas de comandos muito utilizados na placa de vídeo, evitando ter que transferir uma grande quantidade de dados toda vez que os comandos forem repetidos. Para isso usamos Listas. Cada lista é identificada por um número inteiro. Cada lista deve ser declarada entre um par de chamadas glnewlist e glendlist. Uma vez declarada, uma lista pode ser executada com glcalllist. Um conjunto de listas pode ser apagado da placa de vídeo com gldelelelists. Exemplo de definição de lista: glnewlist(1,gl_compile); // lista #1 glcolor3f(1.0,0.0,0.0); glbegin(gl_triangles); glvertex2i(0,0); glvertex2i(10,0); glvertex2i(0,10); glend(); glendlist(); Para chamar a lista criada: glpushmatrix(); gltranslatef(20.0,40.0,0.0); glcalllist(1); glpopmatrix(); No exemplo acima chamamos a lista 1 com uma matriz de translação que adiciona 20 às coordenadas X e 40 às coordenadas Y dos vértices da lista. As funções glpushmatrix e glpopmatrix salvam e restauram o sistema de coordenadas para que a translação não se aplique a outras chamadas. Um grupo de listas com identificadores adjacentes pode ser deletado como no exemplo abaixo: gldeletelists(1,10); // apaga listas de 1 a 10 gldeletelists(400,10); // apaga listas de 400 a 409 6
7 O primeiro parâmetro é a primeira lista ser apagada, e o segundo é o número de listas. 6 Texto Para escrever texto, o ideal é definirmos uma fonte de bitmaps, a serem carimbados na tela para compor texto. No OpenGL, um bitmap é um padrão de bits onde cada pixel ou é pintado (com a cor atual) ou não. O comando que desenha bitmaps é glbitmap. Seu protótipo é void glbitmap(int largura, int altura, float xorig, float yorig, float xmove, float ymove, void *dados); Esta função desenha um bitmap de largura altura pixels com o canto inferior esquerdo na atual posição raster e move a posição raster por (xmove, ymove). O desenho do bitmap é definido pela memória apontada por dados. A Fig. 3 tem um exemplo de uma letra S. O exemplo P4 disponível na página do curso contem uma fonte inteira. Figura 3: Definição de bitmap. A posição raster pode ser modificada com glrasterpos2i. Maiores detalhes podem ser consultados no capítulo 8 do livro vermelho. 7 Imagens De forma semelhante a bitmaps, podemos carimbar imagens coloridas com a função gldraw- Pixels: gldrawpixels(int largura, int altura, GLenum formato, GLenum tipo, void *dados); 7
8 Largura e altura definem o tamanho da imagem. O formato que nos interessa é GL RGB, onde nossos dados serão compostos de sequências de valores R,G,B para cada pixel. No campo tipo podemos especificar GL UNSIGNED BYTE para usar valores entre 0 e 255 para cada componente (É possível usar valores de ponto flutuante de 32 bits com GL FLOAT, por exemplo, mas isto é incomum. O capítulo 8 do livro vermelho tem uma tabela com todos os tipos permitidos). Com GL RGB e GL UNSIGNED BYTE, os dados devem apontar para uma imagem definida tal como no exercício com imagens P6 (R,G,B,R,G,B,etc.), exceto que OpenGL armazena imagens a partir da linha inferior (canto inferior esquerdo). gldrawpixels desenha a imagem com o canto inferior esquerdo na atual posição raster. 8 Compilando com OpenGL 8.1 Linux No Linux, caso OpenGL e glut estejam devidamente instalados, basta incluir a GLUT com #include <GL/glut.h> e compilar os programas com gcc programa.c -o programa -lglut Em alguns Linux pode ser necessário adicionar -lglu -lgl. 8.2 Windows: GLUT O Windows já inclui OpenGL, mas não a GLUT. O primeiro passo no Windows é baixar a GLUT de (arquivo glut bin.zip) e descompactá-lo em um diretório qualquer. Figura 4: Arquivos da GLUT para Windows. 8
9 8.3 Windows: Microsoft Visual Studio Configuração inicial: selecione Tools, Options. Selecione Projects, VC++ Directories. Exibindo os diretórios para Include Files, adicione o diretório que contem o arquivo glut.h. Exibindo os diretórios para Library Files, adicione o diretório que contem o arquivo glut32.lib. Copie o arquivo glut32.dll para C:\Windows\System32 (ou terá que copiá-lo para o diretório do seu.exe toda vez que fizer um projeto). Criando um projeto OpenGL:File, New, Project. Em Visual C++ Projects escolha Win32 Project, escolha o nome e o diretório do seu projeto e clique Ok. Clique em Application Settings e escolha Console Application e Empty Project. Expanda Source Files no lado esquerdo da janela, abra o menu com o botão direito e escolha Add Existing Item para adicionar um arquivo C já existente, ou Add Item para adicionar um arquivo C vazio. Seus programas devem ter os includes abaixo: #include <windows.h> #include <glut.h> Há algumas pequenas diferenças no Windows. O math.h por exemplo não tem a definição de pi (M PI). Para compilar, Build, Build Solution (ou F7 no teclado). Procure o executável gerado (estará dentro de um diretório Debug no diretório do seu projeto, que foi escolhido na tela de criação de novo projeto). Figura 5: Telas do Visual Studio. 9
10 8.4 Windows: Dev C++ Configuração Inicial: Selecione Tools, Compiler Options. Na aba Directories, adicione o diretório que contem o arquivo glut32.lib aos diretórios de Libraries, e adicione o diretório que contem o arquivo glut.h aos diretórios de C Includes. Clique Ok. Criando um novo projeto: File, New Project. Escolha Basic, Console Application. Dê um nome ao projeto e clique Ok. Escreva seu programa C ou adicione um já existente ao projeto. Abra Project, Project Options. Selecione a aba Parameters. No campo do Linker, escreva em uma mesma linha: -lopengl32 -lglu32 -lglut32 Nos seus programas, escreva a linha #define GLUT_DISABLE_ATEXIT_HACK antes de todos os #include, e inclua #include <windows.h> #include <glut.h> Figura 6: Tela de configuração do Dev C++. 10
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
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
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, 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 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
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. 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
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
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 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 à Engenharia ENG1000
Introdução à Engenharia ENG1000 Aula 04 Introdução ao Visual Studio 2010 Prof. Augusto Baffa 1. Execute o MS-Visual Studio 2010. Experimente o caminho: Start All Programs Microsoft
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
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
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
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
IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias
1 IDES E PROGRAMAÇÃO Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias {claudio,macdias}@icmc.usp.br 2 Agenda Conceitos Instalação e Configuração Compilação e Execução de Código IDEs Exemplo
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
Imagem ou Desenhos e Gráficos vetorial ou raster?
http://computacaografica.ic.uff.br/conteudocap1.html Imagem ou Desenhos e Gráficos vetorial ou raster? Computação Visual A CG (ou CV) tem pelo menos 3 grades divisões: SI (ou CG), AI e PI Inicialmente
Imagem e Gráficos. vetorial ou raster?
http://computacaografica.ic.uff.br/conteudocap1.html Imagem e Gráficos vetorial ou raster? UFF Computação Visual tem pelo menos 3 grades divisões: CG ou SI, AI e PI Diferença entre as áreas relacionadas
Fundamentos de Computação Gráfica
Fundamentos de Computação Gráfica OpenGL e GLUT António Ramires Fernandes Departamento de Informática - UM 1 Bibliotecas OpenGL (Open Graphics Library) Funcionalidade Gráfica GLU (GL Utilities) Funcionalidade
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
Tutorial. Georreferenciamento de Imagens. versão 1.0-23/08/2008. Autores: Rafael Bellucci Moretti, Vitor Pires Vencovsky
Tutorial Georreferenciamento de Imagens versão 1.0-23/08/2008 Autores: Rafael Bellucci Moretti, Vitor Pires Vencovsky 1. Introdução O tutorial tem como objetivo fornecer informações básicas para georreferenciar
Linguagem C Princípios Básicos (parte 1)
Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos
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
Utilizando o compilador CCS integrado ao MPLAB X
Utilizando o compilador CCS Primeirament é necessário fazer o Download da interface de desenvolvimento MPLAB X no site da Microchip. Neste momento, a versão é a 1.80. Siga o link:http://www.microchip.com/pagehandler/en-us/family/mplabx/
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
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,...)
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
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
Processamento Digital de Imagens
Processamento Digital de Imagens Aula 02 Prof. Diemesleno Souza Carvalho [email protected] http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... Unidade I - Introdução ao
Selecione a opção "Novo" -> "Atalho"
O Programa PHARMACOS Digital deverá ser instalado em um computador escolhido como Principal (ou Servidor) e utilizado nas Estações (ou Terminais) através de um atalho criado para o mesmo. Os computadores
1. Crie um novo projeto Scratch. Apague o gato clicando com o botão direito e em apagar.
Nível 3 Ferramenta de desenho Introdução: Neste projeto, vamos criar uma ferramenta de pintura para criar desenhos. Esta ferramenta permitirá escolher a cor do lápis, limpar a tela, usar carimbos e muito
Tutorial para configurar as bibliotecas TerraView e Qt 3 no Visual Studio 2005
Tutorial para configurar as bibliotecas TerraView e Qt 3 no Visual Studio 2005 João Tácio Corrêa da Silva Ouro Preto/MG, 27/05/2010 [email protected] 1 1. Introdução Este tutorial tem o objetivo de
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
Guia para configurar o IDE Netbeans para desenvolver projectos em C/C++ com OpenMP:
Guia para configurar o IDE Netbeans para desenvolver projectos em C/C++ com OpenMP: Ativando C/C++ / Fortran no IDE NetBeans: Se você quiser trabalhar com C, C++ ou Fortran no IDE NetBeans, a instalação
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,
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
Programação 2010/2011 MEEC
Programação 2010/2011 MEEC Code::Blocks Criação de projectos O Code::Blocks é um IDE (ambiente de desenvolvimemnto integrado) que permite a escrita do codigo, compilação, correcção de erros e depuraçã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
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
DISTRIBUINDO SUA APLICAÇÃO
DISTRIBUINDO SUA APLICAÇÃO Depois de pronta sua aplicação precisa ser distribuida para todos que querem ou precisam usá-la. Para usar a sua aplicação, o único requisito para o computador do cliente é que
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 - 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
INTRODUÇÃO À LINGUAGEM C
INTRODUÇÃO À LINGUAGEM C Prof. Bruno Feijó, Dept. de Informática, PUC-Rio (2017) C foi criado no início da década de 70, quando os programas mais eficientes eram escritos em linguagem Assembly, bem próxima
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 E PROGRAMAÇÃO
COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2015/2016 MEMec, LEAN Ficha da Aula Prática 11: Introdução à criação de programas em C. Sumário das tarefas e objectivos da aula: 1 Aprender os passos necessários à
No Windows há basicamente dois tipos de programas de usuário:
Introdução O que vem a ser um programa em C? Você talvez já tenha ouvido falar que um compilador é um programa ou ferramenta que transforma um programa fonte escrito em uma linguagem de programação de
Computação Gráfica - 06
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - 06 Prof. Jorge Cavalcanti [email protected] www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
Disciplina: INF1005 - Programação I. 1 a aula prática Introdução ao ambiente do Microsoft Visual Studio 2010
1 a aula prática Introdução ao ambiente do Microsoft Visual Studio 2010 1. Execute o MS-Visual Studio 2010. Experimente o caminho: Start All Programs Microsoft Visual Studio 2010 Microsoft Visual Studio
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
Anhanguera Educacional S.A. Centro Universitário Ibero-Americano
O C++ foi inicialmente desenvolvido por Bjarne Stroustrup durante a década de 1980 com o objetivo de melhorar a linguagem de programação C, mantendo a compatibilidade com esta linguagem. Exemplos de Aplicações
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
INF1007: Programação 2 9 Tipos Abstratos de Dados. (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 9 Tipos Abstratos de Dados (c) Dept. Informática - PUC-Rio 1 Tópicos Módulos e compilação em separado Tipo abstrato de dados Exemplo 1: TAD Ponto Exemplo 2: TAD Círculo Exemplo 3:
Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores. Aula - Tópico 1
Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores Aula - Tópico 1 1 Problema 1 Considere o seguinte problema: Determinar o valor de y = seno(1,5). 2 Definições Para
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
Usando o email e a Internet
Usando o email e a Internet Novo no Windows 7? Mesmo que ele tenha muito em comum com a versão do Windows que você usava antes, você ainda pode precisar de uma ajuda para fazer tudo direitinho. Este guia
O Primeiro Programa em Visual Studio.net
O Primeiro Programa em Visual Studio.net Já examinamos o primeiro programa escrito em C que servirá de ponto de partida para todos os demais exemplos e exercícios do curso. Agora, aprenderemos como utilizar
GraphicsLib Biblioteca Gráfica 2D. Documentação
GraphicsLib Biblioteca Gráfica 2D Documentação Edirlei Soares de Lima [email protected] Sumário 1 Instalação e Configuração... 4 2 Manual de Utilização... 10 2.1 Estrutura de um Programa... 10 2.2 Loop
Corel Draw. Editoração Gráfica. Professor: Jarbas Araújo CENTRO EDUCACIONAL RADIER.
Corel Draw Editoração Gráfica Professor: Jarbas Araújo [email protected] CENTRO EDUCACIONAL RADIER Padrões CMYK ou RGB? Isso causa uma enorme confusão na cabeça de clientes, e pessoas leigas
Uso do Easy Interactive Tools
Uso do Easy Interactive Tools Inicialização do Easy Interactive Tools Para iniciar o Easy Interactive Tools no seu computador, siga um destes passos: Windows: Clique duas vezes no ícone do Easy Interactive
Antes da aula. Para mudar o idioma, no canto superior esquerdo da tela, clique no botão em forma de engrenagem. Escolha Language.
Antes da aula A. Criar uma conta de e-mail para a turma Entre no site: https://accounts.google.com/signup para criar uma conta de e-mail. Nos campos: Nome de usuário: coloque nome da escola e número da
1 Como compilar seu código? 2 Comandos de terminal:
Manual Básico 2 COMANDOS DE TERMINAL: 1 Como compilar seu código? É necessário compilar seu código para testar seu programa e saber se a lógica utilizada está correta para solucionar todas as possíveis
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
Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM
Curso de C Introdução 1 Introdução Roteiro: Recordando Algoritmos Linguagem de Programação O computador Instruções de Máquina Níveis de Abstração Compilação 2 Algoritmos Recordando: Algoritmo: conjunto
DISCIPLINA SIG EXERCÍCIO 1: MUDANÇA DE SISTEMA DE COORDENADAS (GEOGRÁFICAS LAT/LONG PARA UTM CÓRREGO ALEGRE)
DISCIPLINA SIG OFICINA: MODELO NUMÉRICO DE TERRENO (MNT) Responsável: MARIA ISABEL C DE FREITAS Colaboração: BRUNO ZUCHERATO KATIA CRISTINA BORTOLETTO EXERCÍCIO 1: MUDANÇA DE SISTEMA DE COORDENADAS (GEOGRÁFICAS
ALTERA Quartus II. Manual
ALTERA Quartus II Manual 2014 O Quartus II é um ambiente de desenvolvimento integrado (IDE Integrated Development Environment), utilizado para o desenvolvimento de sistemas digitais utilizando FPGAs (Field
Guia prático do. Passo a passo
Guia prático do BrOffice.org IMPRESS Passo a passo Licenciamento de Uso desta Documentação Este material foi elaborado por Mônica Figueira Câmara, baseado no arquivo de Ajuda do BROffice.org e segue os
Estrutura de Programas e Tipos de Dados Simples
SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Estrutura de Programas e Tipos de Dados Simples Prof. Vanderlei Bonato: [email protected] Prof. Claudio Fabiano Motta Toledo: [email protected]
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
INTRODUÇÃO AO USO DO DEV C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia
INTRODUÇÃO AO USO DO DEV C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia Tela inicial do Editor de programas do DEV C++ Dicas
Trabalhando com MDI e Menus
Ambiente de Programação Visual Trabalhando com MDI e Menus Prof. Mauro Lopes 1-31 22 Objetivos Nesta aula iremos apresentar o desenvolvimento de uma aplicação padrão MDI. Este modelo de aplicação é muito
NOTA: Neste tutorial foi utilizado o Visual Studio 2010 para criar o Projeto Web no qual iremos realizar os passos abaixo.
TUTORIAL 03 Criando uma base de dados SQL Server com o Visual Studio ETAPA 1: Criando um novo Web Site usando o Visual Studio 2010 NOTA: Neste tutorial foi utilizado o Visual Studio 2010 para criar o Projeto
Faculdade de Computação
Faculdade de Computação Programação Procedimental 1 o Laboratório de Programação C Prof. Cláudio C. Rodrigues 1. Introdução O objetivo desta aula prática é exercitar o uso de variáveis de vários tipos
Aula 04 Tipos de arquivos e Fireworks
Aula 04 Tipos de arquivos e Fireworks Tipos de arquivos Algumas extensões de arquivo de imagem Extensões mais utilizadas Extensão Nome próprio Descrição.bmp Windows Bitmap Usado pelos programas Microsoft
Guia e Utilização do Visual Studio.NET 2003
Guia e Utilização do Visual Studio.NET 2003 Objectivo Este guia acompanha-o através do processo de criação de uma aplicação C++ utilizando o ambiente de desenvolvimento Visual Studio.NET 2003. Passo 1:
