OpenGL. Sumário COMPUTAÇÃO GRÁFICA E INTERFACES. Introdução. Introdução. Carlos Carreto
|
|
- Natan Igrejas Domingues
- 8 Há anos
- Visualizações:
Transcrição
1 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 Nomes das funções Bibliotecas Máquina de estados Estrutura básica de uma aplicação Primitivas de desenho Transformações geométricas Introdução Introdução OpenGL (Open Graphics Library) É uma biblioteca padrão de funções gráficas para desenvolvimento de aplicações 2D e 3D em tempo real. Os seus recursos permitem criar gráficos com qualidade próxima à de um raytracer, mas com muita mais rapidez, além de incluir recursos avançados de animação, tratamento de imagens e texturas. A biblioteca OpenGL foi introduzida em 1992 pela Silicon Graphics, na forma de uma API gráfica, independente dos dispositivos de exibição e dos sistemas operativos. Pipeline da OpenGL Chamadas API OpenGL Buffer de comandos OpenGL Transformações geométricas e Iluminação Rasterização Frame Buffer
2 Utilização OpenGL para Windows A OpenGL foi escrita em C e segue a convenção de chamada da linguagem C. Existem diferentes implementações da OpenGL para diferentes sistemas operativos, por exemplo para Windows e Linux. As várias implementações usam os mesmos tipos de dados e os mesmos nomes de funções. Desse modo um programa escrito para Windows por exemplo, pode também ser compilado para Linux. Utilização OpenGL para Windows Na implementação Windows são fornecidas: -> Bibliotecas opengl32.lib (kernel OpenGL) e glu32.lib (biblioteca GLU); -> Protótipos para todas as funções, tipos de dados e macros OpenGL (gl.h) e para funções utilitárias (glu.h); -> DLLs opengl32.dll e glu32.dll. As DLLs vêm com o próprio Windows e encontram-se na pasta System32 enquanto que as bibliotecas e ficheiros cabeçalho vêm com a linguagem de programação (no caso do C++Builder encontram-se respectivamente nas pastas $(BCB)\LIB\PSDK e $(BCB)\INCLUDE\GL). Tipos de dados Nomes das funções OpenGL para Windows Para tornar o código portátil, foram definidos tipos de dados próprios para OpenGL. Estes tipos de dados são mapeados dos tipos de dados comuns do C, que também podem ser utilizados. Como os vários compiladores e ambientes possuem regras diferentes para determinar o tamanho das variáveis em C, usando os tipos OpenGL é possível isolar o código das aplicações, destas alterações. Tipo de dados OpenGL GLbyte GLshort GLint, GLsizei GLfloat, GLclampf GLdouble, GLclampd GLubyte, GLboolean GLushort GLuint, GLenum, GLbitfield Representação interna 8-bit integer 16-bit integer 32-bit integer 32-bit floating-point 64-bit floating-point 8-bit unsigned integer 16-bit unsigned integer 32-bit unsigned integer Tipo de dado C equivalente signed char short int ou long float double unsigned char unsigned short unsigned long ou unsigned int Sufixo b s i f d ub us ui Os nomes das funções OpenGL seguem uma convenção que indica a que biblioteca pertencem e a quantidade e tipo dos argumentos que contêm. Exemplo: O prefixo gl significa que a função pertence à biblioteca gl glcolor3f A raiz do nome sugere a funcionalidade da função. O sufixo 3f significa que a função possui 3 parâmetros de ponto flutuante.
3 Bibliotecas A OpenGL fornece um conjunto de comandos poderosos, porem de baixo nível. De modo a facilitar a programação com estes comandos, forma desenvolvidas bibliotecas que implementam funções demais alto nível e portanto mais fáceis de usar: -> GLU (OpenGL Utility Library) -> GLUT (OpenGL Utility Toolkit) -> GLX (OpenGL Extension to the X Window System) -> FSG (Fahrenheit Scene Graph) Bibliotecas GLU (OpenGL Utility Library) Contem funções de uso comum que utilizam comandos OpenGL de baixo nível. As funções desta biblioteca usam o prefixo gl. Bibliotecas GLUT (OpenGL Utility Toolkit) Contêm funções para a implementação de interfaces gráficos independentes da plataforma, tais como funções para tratamento de eventos, menus, rato, etc. Esconde a complexidade da gestão de janelas das diferentes plataformas. As funções desta biblioteca usam o prefixo glut. Bibliotecas Instalação da GLUT Obter os ficheiros em: Página Recursos da disciplina Instalação dos ficheiros: glut32.dll -> SYSTEM32 glut32.lib -> $(BCB)\LIB\PSDK glut.h -> $(BCB)\INCLUDE\GL
4 Bibliotecas GLX (OpenGL Extension to the X Window System) Esta biblioteca é vista com um anexo da OpenGL para plataformas que usam o sistema de janelas X Window. As funções GLX usam o prefixo glx. Para Microsoft Windows 95/98/NT, as janelas são fornecidas pelas funções WGL. Todas as funções WGL usam o prefixo wgl. Bibliotecas FSG (Fahrenheit Scene Graph) Constitui um toolkit orientado a objectos baseado em OpenGL. Fornece objectos e métodos para a criação de aplicações gráficas 3D interactivas. A biblioteca foi escrita em C++ e é separada da OpenGL. Para IBM/OS2, a PGL é a Presentation Manager para a interface OpenGL, e suas funções usam o prefixo pgl. Para Apple, a AGL é a interface para sistemas que suportam OpenGL, e as funções AGL usam o prefixo agl Máquina de estados A OpenGL é uma máquina de estados porque é possível colocá-la em vários estados (ou modos) que não são alterados, a menos que uma função seja chamada para isto. Por exemplo, a cor corrente é uma variável de estado que pode ser definida como branco. Todos os objectos são então desenhados com a cor branca, até ao momento em que outra cor corrente seja especificada. A OpenGL mantém uma série de variáveis de estado, tais como estilo de uma linha, posições e características das luzes, propriedades do material dos objectos a desenhar, etc. Muitas delas referem-se a modos que podem ser habilitados ou desabilitados com os comandos glenable() e gldisable(). A configuração básica da OpenGL em C++Builder tem os seguintes passos: -> Obter e configurar um device context e um rendering context para o form; -> Definir a viewport e a projecção a usar cada vez que se altera o tamanho do form; -> Definir a função de desenho da cena; -> Criar um ciclo de rendering.
5 Unit1.h Ficheiros cabeçalho da OpenGL e da GLU. O construtor... #include <gl/gl.h> #include <gl/glu.h>... private: // User declarations HDC hdc; HGLRC hrc; int Pixel_Format; public: // User declarations fastcall TForm1(TComponent* Owner); void fastcall Idle_Loop(TObject*, bool&); void fastcall Configurar_Pixel_Format(); void fastcall Configurar_RC(); void fastcall Desenhar_Cena(); Um handler para o device context do form (TCanvas). Um handler para o rendering context (OpenGL). Um identificador para o Pixel Format. fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) Application->OnIdle = Idle_Loop; Configuração da função a chamar no evento OnIdle. O evento OnIdle acontece sempre que não houver mensagens do sistema para processar. É o momento ideal para redesenhar a cena.... A função Idle_Loop() void fastcall TForm1::Idle_Loop(TObject*, bool &Terminar) Terminar = false; Desenhar_Cena(); SwapBuffers(hdc); Terminar = false para que o ciclo não pare. Chamada à função que desenha a cena. A função Desenhar_Cena() void fastcall TForm1::Desenhar_Cena() glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); // Limpar o ecrã e buffer de profundidade glloadidentity(); // Limpar matriz de transformações gltranslatef(-1.5f,0.0f,-1.0f); // Translação de 1.5 unidades no eixo XX e -1 unidade do eixo ZZ glbegin(gl_triangles); // Desenhar um triangulo glvertex3f( 0.0f, 1.0f, 0.0f); // Superior glvertex3f(-1.0f,-1.0f, 0.0f); // Inferior esquerdo glvertex3f( 1.0f,-1.0f, 0.0f); // Inferior direito glend(); // Fim do desenho do triangulo gltranslatef(3.0f,0.0f,0.0f); // Translação de 3 unidades no eixo XX Troca de buffers para minimizar o screen flicker. glbegin(gl_quads); glvertex3f(-1.0f, 1.0f, 0.0f); glvertex3f( 1.0f, 1.0f, 0.0f); glvertex3f( 1.0f,-1.0f, 0.0f); glvertex3f(-1.0f,-1.0f, 0.0f); glend(); glflush(); // Desenhar um quadrado // Superior esquerdo // Superior direito // Inferior direito // Inferior esquerdo // Fim do desenho do Quad //Processar os comandos
6 O evento OnCreate void fastcall TForm1::FormCreate(TObject *Sender) hdc = GetDC(Handle); Configurar_Pixel_Format(); hrc = wglcreatecontext(hdc); wglmakecurrent(hdc, hrc); Configurar_RC(); Obter o device context do form. Configurar o Pixel Format. O evento OnDestroy void fastcall TForm1::FormDestroy(TObject *Sender) ReleaseDC(Handle, hdc); wglmakecurrent(hdc, NULL); wgldeletecontext(hrc); Limpeza do device context e rendering context. Criar um rendering context para o device context. Tornar o rendering context corrente. Configurar o rendering context. A função Configurar_Pixel_Format() void fastcall TForm1::Configurar_Pixel_Format() Configuração da estrutura Pixel Format Descriptor com PIXELFORMATDESCRIPTOR pfd = suporte para OpenGL, uso de Double Buffer e formato RGBA. sizeof(pixelformatdescriptor), 1, PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_DOUBLEBUFFER, PFD_TYPE_RGBA, 24, 0,0,0,0,0,0, 0,0, Criar o device context com as características configuradas no Pixel Format Descriptor. 0,0,0,0,0, 32, 0, 0, PFD_MAIN_PLANE, 0, 0,0,0 ; Pixel_Format = ChoosePixelFormat(hdc, &pfd); SetPixelFormat(hdc, Pixel_Format, &pfd); A função Configurar_RC() void fastcall TForm1::Configurar_Pixel_Format() glclearcolor(1.0f, 1.0f, 1.0f, 1.0f); glclear(gl_color_buffer_bit); glflush(); Configurar a cor de fundo do rendering context. Limpar o ColorBuffercom essa cor.
7 O evento OnResize Viewport do tamanho da área-cliente do form. void fastcall TForm1::FormResize(TObject *Sender) GLfloat Distancia = 200.0f; glviewport(0, 0, ClientWidth, ClientHeight); glmatrixmode(gl_projection); glloadidentity(); As transformações geométrica afectam a câmara. if (ClientWidth <= ClientHeight) glortho(-distancia, Distancia, -Distancia*ClientHeight/ClientWidth, Distancia*ClientHeight/ClientWidth, -Distancia, Distancia); else glortho(-distancia*clientwidth/clientheight, Distancia*ClientWidth/ClientHeight, -Distancia, Distancia, -Distancia, Distancia); Output do programa glmatrixmode(gl_modelview); glloadidentity(); As transformações geométrica afectam os objectos da cena. Configuração de uma projecção ortográfica. glortho(gldouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far) O Repository do C++Builder O repository do C++Builder permite guardar este projecto como um modelo para futuros projectos OpenGL. Para isso basta: -> Seleccionar Projects Add to Repository; -> Escolher um título, por exemplo Estrutura OpenGL ; -> Escolher a página Forms. Para reutilizar o projecto basta seleccionar File New Forms e escolher Estrutura OpenGL. Primitivas de desenho A OpenGL contem um conjunto de primitivas simples, tais como pontos, linhas e polígonos, que podem ser combinadas de várias maneiras para criar estruturas mais complexas. Estas primitivas são formadas por um ou mais vértices. É pois necessário especificar uma lista de vértices, o que é feito através das funções OpenGL: glbegin()... glend() O argumento passado para glbegin() determina qual objecto será desenhado. Por exemplo, para desenhar três pontos vermelhos podemos usar a seguinte sequência de comandos: glbegin(gl_points); glcolor3f(1.0f, 0.0f, 0.0f); glvertex2i(100, 50); glvertex2i(100, 130); glvertex2i(150, 130); glend();
8 Primitivas de desenho Outros argumentos para glbegin(): A função glvertex2i pertence à biblioteca GL e possui dois argumentos inteiros. Existem duas variantes desta função que permitem passar valores de ponto flutuante no lugar de inteiros, e três coordenadas (x,y,z) no lugar de duas: glvertex2d(100.0, 50.0); glvertex3f(50.0, 50.0, 50.0); É também possível definir uma cor diferente para cada vértice. Nesse caso, é feita uma interpolação das cores de cada vértice aquando do desenho do objecto. Primitivas de desenho Outros argumentos para glbegin(): GL_LINES -> desenha uma linha a cada dois comandos glvertex; GL_LINE_STRIP -> desenha uma sequência de linhas conectando os pontos definidos por glvertex; GL_LINE_LOOP -> desenha uma sequência de linhas conectando os pontos definidos por glvertex e no final liga o primeiro como último ponto; GL_POLYGON -> desenha um polígono convexo preenchido, definido por uma sequência de chamadas a glvertex; GL_TRIANGLES -> desenha um triângulo preenchido a cada três pontos definidos por glvertex; GL_TRIANGLE_STRIP -> desenha uma sequência de triângulos baseados no trio de vértices v0, v1, v2, depois, v2, v1, v3, depois, v2, v3, v4 e assim por diante; GL_TRIANGLE_FAN -> desenha uma sequência de triângulos conectados baseados no trio de vértices v0, v1, v2, depois, v0, v2, v3, depois, v0, v3, v4 e assim por diante; GL_QUADS -> desenha um quadrado preenchido conectando cada quatro pontos definidos por glvertex; GL_QUAD_STRIP -> desenha uma sequência de quadriláteros conectados a cada quatro vértices; primeiro v0, v1, v3, v2, depois, v2, v3, v5, v4, depois, v4, v5, v7, v6, e assim por diante. Transformações geométricas A OpenGL implementa as transformações geométricas básicas de translação, escala e rotação através de multiplicação de matrizes. Estas transformações podem ser combinadas numa única matriz, permitindo desse modo a aplicação de várias transformações geométricas através de uma única operação. Isto ocorre porque uma transformação geométrica em OpenGL é armazenada internamente numa matriz. A cada transformação que é aplicada, esta matriz é alterada e usada para desenhar os objectos da cena a partir daquele momento. A cada nova alteração é feita uma composição de matrizes. Este efeito cumulativo traz vantagens, mas também pode ser indesejado. Para o evitar é necessário utilizar as funções glpushmatrix() e glpopmatrix(), que gravam e restauram, respectivamente, a matriz actual de transformação numa pilha interna da OpenGL. Transformações geométricas A translação é feita através da função gltranslatef(tx, Ty, Tz), que pode receber três números float ou double (gltranslated) como parâmetro. Neste caso, a matriz actual é multiplicada por uma matriz de translação baseada nos valores dados. A rotação é feita através da função glrotatef(ângulo, x, y, z), que pode receber quatro números float ou double (glrotated) como parâmetro. Neste caso, a matriz actual é multiplicada por uma matriz de rotação de "Ângulo" graus ao redor do eixo definido pelo vector "x,y,z" no sentido anti-horário. A escala é feita através da função glscalef(ex, Ey, Ez), que pode receber três números float ou double (glscaled) como parâmetro. Neste caso, a matriz actual é multiplicada por uma matriz de escala baseada nos valores dados.
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,
Leia maisIntroduçã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
Leia maisOpenGL. 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
Leia maisOPENGL. Matheus Fuhrmann Stigger [1] e Bruna Cavallero Martins
Matheus Fuhrmann Stigger [1] e Bruna Cavallero Martins [1] Acadêmico do curso de Engenharia da computação da Universidade Católica de Pelotas Bolsista FAPERGS. [2] Acadêmico do curso de Engenharia da computação
Leia maisIntroduçã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
Leia maisCG com OpenGL. Paulo Gandra de Sousa Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto
CG com OpenGL Paulo Gandra de Sousa psousa@dei.isep.ipp.pt Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto Conteúdo O que é? Exemplos API do OpenGL demos Desenho, iluminação,
Leia maisComputaçã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 jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti
Leia maisIntrodução Programando com OpenGL Exemplos. O que é OpenGL? [1]
Sumário ao OpenGL Exemplos Leandro Tonietto Processamento Gráfico / Computação Gráfica Jogos Digitais ltonietto@unisinos.br http://www.inf.unisinos.br/~ltonietto Mar-2008 Alguns slides são provenientes
Leia maisProf. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br. 3 de maio de 2011. SCC0250 - Computação Gráca
Introdução à Opengl com Java SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade
Leia maisLAB. 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
Leia maisIntroduçã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
Leia maisIntroduçã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
Leia maisOpenGL Um tutorial. Luis Valente. Instituto de Computação - Universidade Federal Fluminense lvalente@ic.uff.br. Dezembro, 2004
OpenGL Um tutorial Instituto de Computação - Universidade Federal Fluminense lvalente@ic.uff.br Dezembro, 2004 Resumo OpenGL é uma biblioteca para modelagem e visualização tridimensional em tempo real,
Leia maisRealidade Aumentada. Introdução. Sumário da Apresentação. Realidade Aumentada 28/08/2013. Prof. Sementille 1
Realidade Aumentada 2. Ferramentas para Desenvolvimento de Aplicações de Realidade Aumentada Prof. Dr. Antonio Carlos Sementille Sumário da Apresentação Visão geral da hierarquia das principais ferramentas
Leia maisAntónio Costa. Paulo Roma Cavalcanti
Introdução à Computação Gráfica OpenGL Básico Adaptação: Autoria: João Paulo Pereira António Costa Claudio Esperança Paulo Roma Cavalcanti OpenGL O que é? Uma API para geração de gráficos 3D e 2D Primitivas
Leia maisUma API para geração de gráficos
Miguel Leitão, 2008 OpenGL O que é? Uma API para geração de gráficos 3D e 2D Primitivas vectoriais e matriciais (imagens) Capaz de gerar imagens de alta qualidade Normalmente implementada de forma a tirar
Leia maisIntrodução à Computação Gráfica OpenGL Básico. Claudio Esperança Paulo Roma Cavalcanti
Introdução à Computação Gráfica OpenGL Básico Claudio Esperança Paulo Roma Cavalcanti OpenGL O que é? Uma API para geração de gráficos 3D e 2D Primitivas vetoriais e matriciais (imagens) Capaz de gerar
Leia maisComputaçã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 jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti
Leia maisOpenGL. Soraia Musse
OpenGL Soraia Musse Roteiro Introdução OpenGL x DirectX Utilização Exemplo de Programa Nomes das Funções/Métodos Bibliotecas Máquina de Estados Linhas, Pontos e Polígonos Transformações Geométricas Introdução
Leia maisIntroduçã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,
Leia maisOpenGL. 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
Leia mais6. Geometria, Primitivas e Transformações 3D
6. Geometria, Primitivas e Transformações 3D Até agora estudamos e implementamos um conjunto de ferramentas básicas que nos permitem modelar, ou representar objetos bi-dimensionais em um sistema também
Leia maisn À 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
Leia maisConceitos 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,
Leia maisOpenGL. Licenciatura em Computação Computação Gráfica - Aula 2 (atualizada em 03 ago. 2017)
Computação Gráfica - Aula 2 (atualizada em 03 ago. 2017) glaucius@pelotas.ifsul.edu.br OpenGL O que é OpenGL? OpenGL é uma biblioteca de rotinas gráficas de modelagem, manipulação de objetos e exibição
Leia maisIntrodução ao OpenGL
Introdução ao OpenGL Leandro Tonietto Processamento Gráfico / Computação Gráfica Jogos Digitais ltonietto@unisinos.br http://www.inf.unisinos.br/~ltonietto Mar-2008 Alguns slides são provenientes da apresentação
Leia maisCG 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
Leia maisOpenGL. 35T56 Sala 3E3 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 DIM102
OpenGL 35T56 Sala 3E3 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 1 Introdução Definição História Portabilidade 2 Vantagens Rápida Simples Robusta Padrão aberto Multiplataforma Mecanismo de incorporação
Leia maisIntrodução Prática à Programação em OpenGL
Introdução Prática à Programação em OpenGL Marcelo Walter Objetivos Demonstrar o suficiente de OpenGL, a fim de que você possa escrever um programa de computação gráfica interativo com objetos 3D 2 SIGGRAPH
Leia maisOpenGL. Uma Abordagem Prática e Objetiva. Marcelo Cohen Isabel Harb Manssour. Novatec Editora
OpenGL Uma Abordagem Prática e Objetiva Marcelo Cohen Isabel Harb Manssour Novatec Editora Capítulo 1 Introdução A Computação Gráfica é uma área da Ciência da Computação que se dedica ao estudo e ao desenvolvimento
Leia maisOpenGL. 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
Leia maisProgramaçã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
Leia maisProfessor: Rodrigo Caetano Filgueira
Professor: Rodrigo Caetano Filgueira Primeiro Programa Para entender o funcionamento da GLUT, logo abaixo é apresentado o menor programa OpenGL possível, implementado por [Wright 2000], que simplesmente
Leia maisComputação Gráfica. Texturas
Computação Gráfica Texturas António Ramires Fernandes + Luís Paulo Santos- Computação Gráfica 08/09 Texturas Aplicar imagens 1D,2D ou 3D a primitivas geométricas Utilizações: Simular materiais: madeira,
Leia maisOpenGL. 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
Leia maisPaulo Sérgio Rodrigues. Exercícios de Laboratório
Paulo Sérgio Rodrigues Exercícios de Laboratório Iluminação São Bernardo do Campo, SP Abril de 2010 Iluminação Como é possível observar na Fig. 1, a imagem gerada não possui uma qualidade satisfatória.
Leia maisORIENTAÇÃ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
Leia maisOpenGL. Parte I: Geometria. Waldemar Celes Departamento de Informática Tecgraf/PUC-Rio
OpenGL Parte I: Geometria Waldemar Celes Departamento de Informática Tecgraf/PUC-Rio API OpenGL: : o que é? Interface para programador de aplicação Aplicação API Hardware & Software API abstrata Dispositivo
Leia maisComputaçã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
Leia maisComputaçã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
Leia maisEngenharia Elétrica Computação Gráfica - Aula 2 (atualizada em 22/04/2018)
Computação Gráfica - Aula 2 (atualizada em 22/04/2018) glaucius@pelotas.ifsul.edu.br OpenGL O que é OpenGL? OpenGL é uma biblioteca de rotinas gráficas de modelagem, manipulação de objetos e exibição tridimensional
Leia maisOpenGL. Conceitos Básicos. Waldemar Celes. Tecgraf/PUC-Rio. OpenGL: o que é? Interface para programador de aplicação. Aplicação API abstrata
OpenGL Conceitos Básicos Waldemar Celes Tecgraf/PUC-Rio 1 OpenGL: o que é? API Interface para programador de aplicação Aplicação Aplicação API abstrata OpenGL API Software & Hardware Dispositivo de saída
Leia maisOpenGL. Conceitos Básicos. Waldemar Celes. Tecgraf/PUC-Rio
OpenGL Conceitos Básicos Waldemar Celes Tecgraf/PUC-Rio 1 API OpenGL: o que é? Interface para programador de aplicação Aplicação Aplicação API abstrata OpenGL API Software & Hardware Dispositivo de saída
Leia maisFCG2006 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
Leia maisSeu manual do usuário EPSON LQ-630 http://pt.yourpdfguides.com/dref/1120693
Você pode ler as recomendações contidas no guia do usuário, no guia de técnico ou no guia de instalação para. Você vai encontrar as respostas a todas suas perguntas sobre a no manual do usuário (informação,
Leia maisIntrodução à Biblioteca Gráfica
Introdução à Biblioteca Gráfica Roberto Scalco 24 / 25 Autor Roberto Scalco Mestrando em Engenharia Elétrica pela Universidade Estadual de Campinas (UNICAMP); Engenheiro Eletricista com ênfase em Eletrônica
Leia maisOpen Graphics Library OpenGL
Open Graphics Library OpenGL Filipe Gonçalves Barreto de Oliveira Castilho Nuno Alexandre Simões Aires da Costa Departamento de Engenharia Informática Universidade de Coimbra 3030 Coimbra, Portugal http://student.dei.uc.pt/~fgonc/opengl/
Leia maisAmbiente de trabalho. Configurações. Acessórios
Ambiente de trabalho Configurações Acessórios O Sistema Operativo (SO) é o conjunto de programas fundamentais que permitem que o computador funcione e comunique com o exterior. Actualmente, o Windows é
Leia maisESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA
P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado
Leia maisTarefa Orientada 2 Criar uma base de dados
Tarefa Orientada 2 Criar uma base de dados Objectivos: Criar uma base de dados vazia. O Sistema de Gestão de Bases de Dados MS Access Criar uma base dados vazia O Access é um Sistema de Gestão de Bases
Leia maisAlgoritmos e Programação Estruturada
Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.
Leia maisProjeções e Visualização
Computação Gráfica 5385: Licenciatura em Engenharia Informática Cap. 4 Projeções e Visualização Projeções e Visualização Sumário Pipeline de Visualização em OpenGL x y z w vértice original MODELVIEW matrix
Leia mais3 Classes e instanciação de objectos (em Java)
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
Leia maisOficina de Construção de Páginas Web
COMPETÊNCIAS BÁSICAS EM TIC NAS EB1 Oficina de Construção de Páginas Web Criação e Publicação Guião Páginas WWW com o editor do Microsoft Office Word 2003 1. Introdução. 2. Abrir uma página Web. 3. Guardar
Leia maisFerramentas Web, Web 2.0 e Software Livre em EVT
E s t u d o s o b r e a i n t e g r a ç ã o d e f e r r a m e n t a s d i g i t a i s n o c u r r í c u l o d a d i s c i p l i n a d e E d u c a ç ã o V i s u a l e T e c n o l ó g i c a Anim8or M a n
Leia maisPipeline de Visualização Câmara Virtual
Pipeline de Visualização Câmara Virtual Edward Angel, Cap. 5 Instituto Superior Técnico Computação Gráfica 2009/2010 1 Na última aula... Transformações Geométricas Composição de Transformações Deformação
Leia maisComputação Gráfica. Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark. Terceiro Teste 19 de Maio de 2012
CG / Terceiro Teste LEIC Alameda/Taguspark Computação Gráfica Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark Terceiro Teste 9 de Maio de O teste tem a duração de h, tolerância
Leia maisUNIDADE 2: Sistema Operativo em Ambiente Gráfico
UNIDADE 2: Sistema Operativo em Ambiente Gráfico Ambiente de trabalho Configurações Acessórios O Sistema Operativo (SO) é o conjunto de programas fundamentais que permitem que o computador funcione e comunique
Leia maisIntroduçã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
Leia maisESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA
P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA 0 Iniciar o ambiente de desenvolvimento integrado
Leia maisUniversidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática
Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]
Leia maisOpenGL. 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
Leia maisLINGUAGEM C. Estrutura básica de um programa
LINGUAGEM C Estrutura básica de um programa Um programa em linguagem C é constituído por uma sequência de funções (módulos) que em conjunto irão permitir resolver o problema proposto. Estas funções contêm
Leia maisCONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO
4 CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO CONCEITOS BÁSICOS MS-DOS MICROSOFT DISK OPERATION SYSTEM INSTALAÇÃO E CONFIGURAÇÃO DE UM SISTEMA OPERATIVO LIGAÇÕES À INTERNET O que é um sistema operativo?
Leia maisIluminação e sombreamento
OpenGL Iluminação e sombreamento Sombreamento OpenGL calcula a cor de cada pixel e parte disso depende de qual é a iluminação usada no cenário e de como os objetos no cenário refletem ou absorvem a luz
Leia maisDesenvolvimento de aplicações tridimensionais com OpenGL
Desenvolvimento de aplicações tridimensionais com OpenGL Pontifícia Universidade Católica de Minas Gerais, 2004 Alessandro Ribeiro spdoido@yahoo.com.br Bruno Evangelista bpevangelista@yahoo.com.br Orientador:
Leia maisTipos de Dados Simples
Programação 11543: Engenharia Informática 6638: Tecnologias e Sistemas de Informação Cap. 3 Tipos de Dados Simples Tipos de Dados Simples Objectivos: Hierarquia de tipos de dados Tipos de dados simples
Leia maisReferencial do Módulo B
1 Referencial do Módulo B Liga, desliga e reinicia correctamente o computador e periféricos, designadamente um scanner; Usa o rato: aponta, clica, duplo-clique, selecciona e arrasta; Reconhece os ícones
Leia maisAMBIENTE DE PROGRAMAÇÃO PYTHON
Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2003/2004 FICHA 1 AMBIENTE DE PROGRAMAÇÃO PYTHON 1.1. Objectivos
Leia maisTutorial de OpenCV para Tótós
Tutorial de OpenCV para Tótós Alexandra Ribeiro e Miguel Figueiredo Undergraduate Students Instituto Superior Técnico, Universidade Técnica de Lisboa, Portugal Objectivo: Este tutorial tem como objectivo
Leia maisOpenGL. Licenciatura em Computação Computação Gráfica - Aula 2 (atualizada em 15/08/2018)
Computação Gráfica - Aula 2 (atualizada em 15/08/2018) glaucius@pelotas.ifsul.edu.br OpenGL O que é OpenGL? OpenGL é uma biblioteca de rotinas gráficas de modelagem, manipulação de objetos e exibição tridimensional
Leia maisPesquisa e organização de informação
Pesquisa e organização de informação Capítulo 3 A capacidade e a variedade de dispositivos de armazenamento que qualquer computador atual possui, tornam a pesquisa de informação um desafio cada vez maior
Leia maisFerramentas Web, Web 2.0 e Software Livre em EVT
E s t u d o s o b r e a i n t e g r a ç ã o d e f e r r a m e n t a s d i g i t a i s n o c u r r í c u l o d a d i s c i p l i n a d e E d u c a ç ã o V i s u a l e T e c n o l ó g i c a MonkeyJam M a
Leia maisFramework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#
Linguagem de Programação 3 Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C# Prof. Mauro Lopes 1-31 35 Objetivos Nesta aula iremos apresentar a tecnologia.net, o ambiente de desenvolvimento
Leia maisAplicações de Escritório Electrónico
Universidade de Aveiro Escola Superior de Tecnologia e Gestão de Águeda Curso de Especialização Tecnológica em Práticas Administrativas e Tradução Aplicações de Escritório Electrónico Folha de trabalho
Leia maisExercício prático GPS Thales MobileMapper
Exercício prático GPS Thales MobileMapper Criar biblioteca: - Abrir o software Mobile Mapper Office e, no menu Tools, seleccionar a opção Feature Library Editor. - Para criar os ficheiros de pontos, linhas
Leia maisOptimização de um Mundo Virtual
secção 3.2 Optimização de um Mundo Virtual Dadas as limitações impostas pela actual tecnologia, um mundo virtual que não seja cuidadosamente optimizado torna-se necessariamente demasiado lento para captar
Leia maisOpenGL, 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
Leia maisCentro de Competência Entre Mar e Serra. Guia
SMART Notebook Software Guia O Software Notebook permite criar, organizar e guardar notas num quadro interactivo SMART Board (em modo projectado e não-projectado), num computador pessoal e, em seguida,
Leia maisUniversidade da Beira Interior
Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação
Leia maisTecnologias da Informação e Comunicação: Sistema Operativo em Ambiente Gráfico
Tecnologias da Informação e Comunicação UNIDADE 1 Tecnologias da Informação e Comunicação: Sistema Operativo em Ambiente Gráfico 1º Período Elementos básicos da interface gráfica do Windows (continuação).
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisAplicações de Escritório Electrónico
Universidade de Aveiro Escola Superior de Tecnologia e Gestão de Águeda Curso de Especialização Tecnológica em Práticas Administrativas e Tradução Aplicações de Escritório Electrónico Microsoft Word Folha
Leia maisO AMBIENTE DE TRABALHO DO WINDOWS
O AMBIENTE DE TRABALHO DO WINDOWS O Windows funciona como um Sistema Operativo, responsável pelo arranque do computador. Um computador que tenha o Windows instalado, quando arranca, entra directamente
Leia mais2º Exame Computação Gráfica
2º Exame Computação Gráfica LEIC-T Prof. Mário Rui Gomes 17 de Julho 2007 Nº Nome: Antes de começar: Identifique todas as folhas com o seu número. Responda às questões seguintes justificando adequadamente
Leia maisAlgoritmos e Programação
Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte 05 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti
Leia maisLP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br
LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de
Leia maisGUIA DE CRIAÇÃO DE APRESENTAÇÕES MICROSOFT POWER POINT
Nuno Azevedo 2005/06 ESCOLA BÁSICA B INTEGRADA DE ANGRA DO HEROÍSMO GUIA DE CRIAÇÃO DE APRESENTAÇÕES MICROSOFT POWER POINT A Janela de apresentação do Programa Barras de menus, padrão e de formatação Área
Leia maisHardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
Leia maisAplicações de Escritório Electrónico
Universidade de Aveiro Escola Superior de Tecnologia e Gestão de Águeda Curso de Especialização Tecnológica em Práticas Administrativas e Tradução Aplicações de Escritório Electrónico Folha de trabalho
Leia mais7. Gestão de ficheiros em X Window. 7.1. O Konqueror
7. Gestão de ficheiros em X Window 7.1. O Konqueror 1 O Konqueror O ambiente gráfico KDE do Linux possuí um programa, denominado Konqueror (Figura 1.95), que além de ser um navegador Web, é também um gestor
Leia maisEstrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org
Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org Breve Histórico A linguagem de programação C foi criada na década de 70, por Dennis Ritchie, que a implementou,
Leia maisProgramação. MEAer. Bertinho Andrade da Costa. Instituto Superior Técnico. Introdução ao Pré-Processador. 2011/2012 1º Semestre
Programação MEAer Bertinho Andrade da Costa 2011/2012 1º Semestre Instituto Superior Técnico Introdução ao Pré-Processador Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 1 Sumário Introdução
Leia maisMódulo 3936 ASP.NET. Financiado pelo FSE
2 EISnt Centro de Formação Profissional, Engenharia Informática e Sistemas, Novas Tecnologias, Lda Avª D. João I, nº 380/384 Soutelo 4435-208 Rio Tinto Portal Internet : www.eisnt.com E-Mail : formação@eisnt.com
Leia mais2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10
1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...
Leia maisIntrodução ao PHP. Prof. Késsia Marchi
Introdução ao PHP Prof. Késsia Marchi PHP Originalmente PHP era um assíncrono para Personal Home Page. De acordo com convenções para atribuições de nomes recursivas do GNU foi alterado para PHP Hypertext
Leia maisSeleção & feedback. Módulo 12. Sistemas Gráficos e Interação. Filipe Pacheco SGRAI 2017/18 DEI-ISEP 333. Instituto Superior de Engenharia do Porto
Módulo 12 Sistemas Gráficos e Interação Instituto Superior de Engenharia do Porto Filipe Pacheco ffp@isep.ipp.pt Seleção & feedback SGRAI 2017/18 DEI-ISEP 333 Conteúdo Modos do OpenGL Seleção Picking Feedback
Leia maisTECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO INTRODUÇÃO AO MACROMEDIA DREAMWEAVER MX 2004 O Macromedia Dreamweaver MX 2004 é um software que permite a criação de páginas de Internet profissionais, estáticas
Leia maisAndré Tavares da Silva
André Tavares da Silva andre.silva@udesc.br The Red Book e http://openglbook.com/the-book.html O que é OpenGL? Open Graphics Library Uma interface de software com o hardware gráfico ; Atualmente na versão
Leia maisÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos TUDO É UM OBJECTO TUDO É UM OBJECTO ÍNDICE.
PROGRAMAÇÃ ÇÃO COM OBJECTOS TUDO É UM OBJECTO Programação com Objectos ÍNDICE Introdução aos objectos Polimorfismo TUDO É UM OBJECTO Interface e classes internas Instruções de controlo Guardar os objectos
Leia mais