OpenGL. Sumário COMPUTAÇÃO GRÁFICA E INTERFACES. Introdução. Introdução. Carlos Carreto

Tamanho: px
Começar a partir da página:

Download "OpenGL. Sumário COMPUTAÇÃO GRÁFICA E INTERFACES. Introdução. Introdução. Carlos Carreto"

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 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 mais

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 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 mais

OpenGL. http://www.opengl.org. Alberto B. Raposo

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

Leia mais

Introdução a Prática em OpenGL

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

Leia mais

Introdução Programando com OpenGL Exemplos. O que é OpenGL? [1]

Introduçã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 mais

LAB. 1. Introdução à OpenGL

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

Leia mais

Introdução a OpenGL. Profª. Alessandra Martins Coelho

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

Leia mais

OpenGL Um tutorial. Luis Valente. Instituto de Computação - Universidade Federal Fluminense lvalente@ic.uff.br. Dezembro, 2004

OpenGL 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 mais

Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br. 3 de maio de 2011. SCC0250 - Computação Gráca

Prof. 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 mais

Realidade Aumentada. Introdução. Sumário da Apresentação. Realidade Aumentada 28/08/2013. Prof. Sementille 1

Realidade 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 mais

OpenGL. O que é OpenGL. O Pipeline do OpenGL. Listas de Exposiçã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

Leia mais

Computação Gráfica - OpenGl 02

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 jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti

Leia mais

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?

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

Leia mais

OpenGL. Soraia Musse

OpenGL. 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 mais

OpenGL. 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 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 mais

OpenGL. Introdução ao OpenGL. OpenGL. OpenGL. OpenGL. OpenGL. Profa. M. Cristina Profa. Rosane

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

Leia mais

Introdução à Biblioteca Gráfica

Introduçã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 mais

Conceitos importantes da Computação Gráfica [3]

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,

Leia mais

CG 2013/2014 Primeiro Teste LEIC Alameda/Taguspark

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

Leia mais

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 !"#!$ 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 mais

OpenGL. 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 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 mais

Computação Gráfica. Texturas

Computaçã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 mais

Desenvolvimento de aplicações tridimensionais com OpenGL

Desenvolvimento 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 mais

Projeções e Visualização

Projeçõ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 mais

Paulo Sérgio Rodrigues. Exercícios de Laboratório

Paulo 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 mais

Programa de Aprimoramento Discente em Modelagem Geométrica Computacional. Curso Básico de OpenGL

Programa de Aprimoramento Discente em Modelagem Geométrica Computacional. Curso Básico de OpenGL Universidade Federal de Minas Gerais Programa de Aprimoramento Discente em Modelagem Geométrica Computacional Curso Básico de OpenGL Dezembro 2003 Universidade Federal de Minas Gerais Av. Antônio Carlos,

Leia mais

Pipeline de Visualização Câmara Virtual

Pipeline 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 mais

FCG2006 Prova sobre OpenGL e Rastreamento de Raios

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

Leia mais

PROGRAMA DE INTERFACE DE PRÉ E PÓS PROCESSAMENTO E LINK COM EXECUTÁVEL PARA ANÁLISE DE INSTABILIDADE DE TUBULAÇÕES FÁBIO PESSOA DA SILVA NUNES

PROGRAMA DE INTERFACE DE PRÉ E PÓS PROCESSAMENTO E LINK COM EXECUTÁVEL PARA ANÁLISE DE INSTABILIDADE DE TUBULAÇÕES FÁBIO PESSOA DA SILVA NUNES UNIVERSIDADE DE BRASÍLIA FACULDADE DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA CIVIL E AMBIENTAL PROGRAMA DE INTERFACE DE PRÉ E PÓS PROCESSAMENTO E LINK COM EXECUTÁVEL PARA ANÁLISE DE INSTABILIDADE DE TUBULAÇÕES

Leia mais

Open Graphics Library OpenGL

Open 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 mais

Primitivas do OpenGL. Tomás Antônio C. Badan

Primitivas do OpenGL. Tomás Antônio C. Badan Primitivas do OpenGL Tomás Antônio C. Badan 1 Primitivas Formas simples que combinadas, geram objetos mais complexos Blocos de construção de objetos Podem ser 1D, 2D ou 3D Vão desde pontos, linhas até

Leia mais

Introdução ao OpenGL 2.1 e GLSL 1.2

Introdução ao OpenGL 2.1 e GLSL 1.2 Introdução ao OpenGL 2.1 e GLSL 1.2 Felipe Bessa Coelho Universidade de São Paulo 25 de Setembro de 2012 Felipe Bessa Coelho (USP) OpenGL+GLSL 2012 1 / 49 Sumário 1 Objetivos 2 Transformações geométricas

Leia mais

OpenGL, GLU e GLUT. GLUT (OpenGL Utility Toolkit) OpenGL. Linguagem. OpenGL. Esqueleto de um programa em PyOpenGL

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

Leia mais

Programação Gráfica 2D com OpenGL (Aulas 22, 24 e 25)

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.

Leia mais

RECONSTRUÇÃO GRÁFICA TRIDIMENSIONAL DE EDIFICAÇÕES URBANAS A PARTIR DE IMAGENS AÉREAS

RECONSTRUÇÃO GRÁFICA TRIDIMENSIONAL DE EDIFICAÇÕES URBANAS A PARTIR DE IMAGENS AÉREAS RECONSTRUÇÃO GRÁFICA TRIDIMENSIONAL DE EDIFICAÇÕES URBANAS A PARTIR DE IMAGENS AÉREAS RELATÓRIO PARCIAL DE PROJETO DE INICIAÇÃO CIENTÍFICA (PIBIC/CNPq/INPE) Daniel Moisés Gonzalez Clua (UNIVAP, Bolsista

Leia mais

Modelo Hierárquico & Transformações Geométricas

Modelo Hierárquico & Transformações Geométricas Modelo Hierárquico & Transformações Geométricas Universidade de São Paulo USP Disciplina de Computação Gráfica Profª Maria Cristina PAE: Thiago Silva Reis Santos Setembro de 2010 Sumário Modelagem Objetos

Leia mais

ÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos TUDO É UM OBJECTO TUDO É UM OBJECTO ÍNDICE.

ÇÃ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

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 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

Leia mais

OpenGL Conceitos Básicos

OpenGL Conceitos Básicos Universidade Federal de Santa Maria Departamento de Eletrônica e Computação Prof. Cesar Tadeu Pozzer Disciplina: Computação Gráfica pozzer@inf.ufsm.br 23/05/202 OpenGL Conceitos Básicos Histórico Antes

Leia mais

Manual de Apoio 2010. Luís Filipe Lobo

Manual de Apoio 2010. Luís Filipe Lobo <ellobo@ipb.pt> Computação Gráfica Manual de Apoio 2010 Luís Filipe Lobo Conteúdo 1 Introdução 5 1.1 A caminho do 3D............................................. 5 1.2 Efeitos 3D.................................................

Leia mais

6. Geometria, Primitivas e Transformações 3D

6. 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 mais

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu. Programação Estruturada Linguagem C Fundamentos da Linguagem Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Estrutura Básica Bibliotecas Básicas Tipos de Dados Básicos Variáveis/Declaração

Leia mais

3 Classes e instanciação de objectos (em Java)

3 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 mais

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo COMPILADORES Toda linguagem de programação

Leia mais

O que significa programar e a razão da sua importância. os sistemas informáticos dependem da interacção de inúmeros programas

O que significa programar e a razão da sua importância. os sistemas informáticos dependem da interacção de inúmeros programas Capítulo 1 Introdução Enquadramento da disciplina O que significa programar e a razão da sua importância basilar em qualquer curso de computação os sistemas informáticos dependem da interacção de inúmeros

Leia mais

PROGRAMAÇÃO OPENGL LIVRO: TEORIA DA COMPUTAÇÃO GRÁFICA

PROGRAMAÇÃO OPENGL LIVRO: TEORIA DA COMPUTAÇÃO GRÁFICA PROGRAMAÇÃO OPENGL PROGRAMAÇÃO OPENGL Componentes Oficiais GL GLU Não oficiais GLUT PROGRAMAÇÃO OPENGL Disponível em várias linguagens Delph Visual Basic Java C/C++ GLUT http://www.opengl.org/developers/documentation/glut/index.html

Leia mais

Aspectos de Sistemas Operativos

Aspectos de Sistemas Operativos Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho Serviços de um sistema operativo Interface com o utilizador Chamadas ao sistema Programas de sistema

Leia mais

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Universidade 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 mais

Animação e Visualização Tridimensional

Animação e Visualização Tridimensional Animação e Visualização Tridimensional Mestrado em Engenharia Informática e de Computadores Alameda º mini-teste 22 de Outubro de 204 O mini-teste tem a duração máxima de 45 minutos, tolerância incluída.

Leia mais

Fundamentos de Computação Gráfica

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

Leia mais

CIV2802 Sistemas Gráficos para Engenharia Luiz Fernando Martha André Pereira

CIV2802 Sistemas Gráficos para Engenharia Luiz Fernando Martha André Pereira CIV2802 Sistemas Gráficos para Engenharia 2015.1 Cor / OpenGL Luiz Fernando Martha André Pereira Para recordar Computação Gráfica Dado Imagem Computação Gráfica Dado Visualização Imagem Computação Gráfica

Leia mais

Programando em C# Orientado a Objetos. By: Maromo

Programando em C# Orientado a Objetos. By: Maromo Programando em C# Orientado a Objetos By: Maromo Agenda Módulo 1 Plataforma.Net. Linguagem de Programação C#. Tipos primitivos, comandos de controle. Exercícios de Fixação. Introdução O modelo de programação

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais

Tutorial de OpenCV para Tótós

Tutorial 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 mais

Enquadramento e Conceitos Fundamentais

Enquadramento e Conceitos Fundamentais Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Enquadramento e Conceitos Fundamentais Edward Angel, Cap. 1 Questão 9, exame de 29/06/11 [0.5v] Identifique e descreva os três

Leia mais

Conceitos Básicos de C

Conceitos Básicos de C Conceitos Básicos de C Bibliografia Problem Solving & Program design in C, Jeri R. Hanly e Elliot B. Kpffman, 3 a edição Data Structures and Algorithm Analysis in C, Mark Allen Weiss, 2 a edição, Addison-Wesley,

Leia mais

2º Exame Computação Gráfica

2º 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 mais

Desenvolvimento de uma Interface Gráfica para a Ferramenta Computacional FastComp

Desenvolvimento de uma Interface Gráfica para a Ferramenta Computacional FastComp Desenvolvimento de uma Interface Gráfica para a Ferramenta Computacional FastComp Patrícia C. T. Gonçalves, João Manuel R. S. Tavares, Pedro P. C. Camanho Faculdade de Engenharia da Universidade do Porto

Leia mais

Algoritmos e Programação Estruturada

Algoritmos 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 mais

Ferramentas Web, Web 2.0 e Software Livre em EVT

Ferramentas 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 mais

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

ESQUEMA 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 mais

Tipo de Dados em Linguagem C

Tipo de Dados em Linguagem C Tipo de Dados em Linguagem C Principais tipos de dados em C int : tipo de dados inteiros (exemplo: 1, -3, 100, -9, 18, etc.) float : tipo de dados reais (exemplo: 1.33, 3.14, 2.00, -9.0, 1.8, etc.) Ocupa

Leia mais

Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br. 3 de maio de 2011. SCC0250 - Computação Gráca

Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br. 3 de maio de 2011. SCC0250 - Computação Gráca Transformações Geométricas 3D 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 mais

Estrutura 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 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 mais

8. Síntese de Imagens: Cálculo de Cor

8. Síntese de Imagens: Cálculo de Cor 8. Síntese de Imagens: Cálculo de Cor O processo de determinar a aparência (ou seja, a textura e a cor) das superfícies visíveis é chamado de shading. Essa aparência da superfície depende das propriedades

Leia mais

Sintaxe Básica de Java Parte 1

Sintaxe Básica de Java Parte 1 Sintaxe Básica de Java Parte 1 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marcioubeno.com Fonte: Material da Profª Karina Oliveira Estrutura de Programa Um programa

Leia mais

Formação em game programming: 01 - Introdução à programação

Formação em game programming: 01 - Introdução à programação Formação em game programming: Para que um jogo eletrônico funcione adequadamente como foi projetado, é necessário que ele esteja corretamente programado. Todas as funções de controle de personagens e objetos

Leia mais

Cenários 3D Interativos com Software Livre

Cenários 3D Interativos com Software Livre Liliane dos Santos Machado 1 Ronei Marcos de Moraes 2 Resumo: Com a evolução tecnológica e o surgimento da realidade virtual, observa-se o desenvolvimento de sistemas gráficos cada vez mais realistas.

Leia mais

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

ESQUEMA 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 mais

Iluminação e sombreamento

Iluminaçã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 mais

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação Linguagem C: variáveis, operadores, entrada/saída Prof. Críston Algoritmos e Programação Linguagem C Linguagem de uso geral (qualquer tipo de aplicação) Uma das linguagens mais utilizadas Foi utilizada

Leia mais

Programando em C++ Histórico da Linguagem C

Programando em C++ Histórico da Linguagem C Programando em C++ Joaquim Quinteiro Uchôa joukim@comp.ufla.br DCC-UFLA, 2002 Programando em C++ p.1/38 Histórico da Linguagem C Linguagem C: 1972 - Laboratório Bells, por Dennis Ritchie, a partir da linguagem

Leia mais

COMPARAÇÃO ENTRE AS BIBLIOTECAS GRÁFICAS DIRECT3D E OPENGL

COMPARAÇÃO ENTRE AS BIBLIOTECAS GRÁFICAS DIRECT3D E OPENGL UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado) COMPARAÇÃO ENTRE AS BIBLIOTECAS GRÁFICAS DIRECT3D E OPENGL TRABALHO DE CONCLUSÃO DE

Leia mais

Guia e Utilização do Visual Studio 6.0

Guia e Utilização do Visual Studio 6.0 Guia e Utilização do Visual Studio 6.0 Objectivo Este guia acompanha-o através do processo de criação de uma aplicação C++ utilizando o ambiente de desenvolvimento Visual Studio 6.0. Passo 1: Criação de

Leia mais

Algoritmos e Programação

Algoritmos 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 mais

GLSL Programação de Shaders

GLSL Programação de Shaders Universidade do Minho Mestrado em Informática UCE - Computação Gráfica GLSL Programação de Shaders António Ramires Fernandes GLSL Sumário Evolução do Hardware Gráfico PCs Pipeline Gráfico Fixo Pipeline

Leia mais

Correndo aplicações remotas com o X11. O conceito de display. LinuxFocus article number 222 http://linuxfocus.org. Abstract:

Correndo aplicações remotas com o X11. O conceito de display. LinuxFocus article number 222 http://linuxfocus.org. Abstract: LinuxFocus article number 222 http://linuxfocus.org Correndo aplicações remotas com o X11 by Guido Socher (homepage) About the author: O Guido gosta do Linux não só por ser interessante compreender como

Leia mais

Programação: Tipos, Variáveis e Expressões

Programação: Tipos, Variáveis e Expressões Programação de Computadores I Aula 05 Programação: Tipos, Variáveis e Expressões José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/56 Valores Valor é uma entidade

Leia mais

Gráficos tridimensionais. Introdução ao MATLAB p.1/31

Gráficos tridimensionais. Introdução ao MATLAB p.1/31 Gráficos tridimensionais Introdução ao MATLAB p1/31 Introdução Existe uma grande variedade de funções para exibir dados em três dimensões Podemos utilizar curvas em três dimensões, superfícies em retalhos

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 07 Nomes, Vinculações, Escopos e Tipos de Dados Edirlei Soares de Lima Introdução Linguagens de programação imperativas são abstrações

Leia mais

Ambiente de trabalho. Configurações. Acessórios

Ambiente 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 mais

Tipos de Dados Simples

Tipos 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 mais

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS João Gabriel Ganem Barbosa Sumário Motivação História Linha do Tempo Divisão Conceitos Paradigmas Geração Tipos de Dados Operadores Estruturada vs

Leia mais

BOBCOSMOS SISTEMA SOLAR PROJETO FINAL DA DISCIPLINA INTRODUÇÃO A COMPUTACAO GRAFICA

BOBCOSMOS SISTEMA SOLAR PROJETO FINAL DA DISCIPLINA INTRODUÇÃO A COMPUTACAO GRAFICA UNIVERSIDADE FEDERAL DA PARAÍBA - UFPB CENTRO DE CIÊNCIAS EXATAS E DA NATUREZA - CCEN DEPARTAMENTO DE INFORMÁTICA - DI CURSO DE CIÊNCIA DA COMPUTAÇÃO BOBCOSMOS SISTEMA SOLAR PROJETO FINAL DA DISCIPLINA

Leia mais

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10

2. 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 mais

%0/"1&2$&$3*$34+/!+&.05#!.62!+& #*+!&,&'-&"$.$"#/$&

%0/1&2$&$3*$34+/!+&.05#!.62!+& #*+!&,&'-&$.$#/$& !"#$%'()( %0/"12$$3*$34+/!+.05#!.62!+ #*+!,'-"$.$"#/$ 43#3)56(76'()( 48039:/;?8#/" @0/A$""/0; BC-2BBDEF!+GEGFFBEHIG #$.+)789:;?@ 8

Leia mais

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 12

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 12 Sumário: A tabela de partições do disco rígido. A root directory. A FAT. Os serviços BIOS para disco. Aula Teórica 12 Leitura Recomendada: Capítulos 28 e 29 - Hans-Peter Messmer, The Indispensable PC Hardware

Leia mais

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 03: Estruturas dos SOs Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com OBJETIVOS Descrever os serviços que um sistema operacional oferece aos usuários e outros sistemas

Leia mais

Computação Gráfica. GLSL Programação de Shaders

Computação Gráfica. GLSL Programação de Shaders Computação Gráfica GLSL Programação de Shaders António Ramires Fernandes - Computação Gráfica 07/08 GLSL Sumário Evolução do Hardware Gráfico PCs Pipeline Gráfico Fixo Pipeline Gráfico Programável Processador

Leia mais

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos Estrutura Básica B de Programas C e C++ Tipos de Dados Variáveis Strings Entrada e Saída de Dados no C e C++ INTRODUÇÃO O C++ aceita

Leia mais

Computação Gráfica. GLSL - Programação de Shaders Iluminação

Computação Gráfica. GLSL - Programação de Shaders Iluminação Computação Gráfica GLSL - Programação de Shaders Iluminação António Ramires Fernandes - Computação Gráfica 07/08 Resumo Tipos de Dados, Funções e Controle de Fluxo GLSL - Minimal GLSL - Cores GLSL - Iluminação

Leia mais

Quadros Interactivos Multimédia e Formação Contínua de Docentes. InterwriteBoard Guia de Iniciação

Quadros Interactivos Multimédia e Formação Contínua de Docentes. InterwriteBoard Guia de Iniciação Quadros Interactivos Multimédia e Formação Contínua de Docentes InterwriteBoard Guia de Iniciação A. Jorge Mesquita Maio, 2008 Conteúdo Introdução... 1 Antes de iniciar... 1 Caneta interactiva... 1 Interagir

Leia mais

LINGUAGEM C. Estrutura básica de um programa

LINGUAGEM 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 mais

Linguagens de Programação

Linguagens de Programação 68 Linguagens de Programação Uma linguagem de programação é um vocabulário e um conjunto de regras gramaticais usadas para escrever programas de computador. Esses programas instruem o computador a realizar

Leia mais

Computação Gráfica. GLSL - Programação de Shaders Iluminação

Computação Gráfica. GLSL - Programação de Shaders Iluminação Computação Gráfica GLSL - Programação de Shaders Iluminação António nio Ramires Fernandes - Multimédia Resumo Tipos de Dados, Funções e Controle de Fluxo GLSL - Minimal GLSL - Cores GLSL - Iluminação Direcional

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 08 Utilizando Sprites e Áudio na PlayLib Prof. Augusto Baffa < abaffa@inf.puc-rio.br> Biblioteca Gráfica - PlayLib Conjunto de funções para criação e manipulação

Leia mais

INTERACTIVE ILLUSTRATIVE RENDERING ON MOBILE DEVICES Jingshu Huang, Brian Bue, Avin Pattath, David S. Ebert and KrystalM. Thom as IEEE Com puter Graphics and Applications, Vol. 27, 3, 2007 Pedro Lobo,

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Arquitectura dos Sistemas Operativos Programação de Sistemas Arquitectura : 1/25 Introdução (1) Um sistema operativo de uso geral é formado por diversas componentes: Gestor de processos

Leia mais

CAPÍTULO II VISUALIZAÇÃO E APLICAÇÕES GRÁFICAS 2D 3 1- PONTOS E RETAS NO OPENGL 3. 2 TECLADO E MOUSE (Callbacks) 15 3 CURVAS PARAMÉTRICAS 20

CAPÍTULO II VISUALIZAÇÃO E APLICAÇÕES GRÁFICAS 2D 3 1- PONTOS E RETAS NO OPENGL 3. 2 TECLADO E MOUSE (Callbacks) 15 3 CURVAS PARAMÉTRICAS 20 CAPÍTULO II VISUALIZAÇÃO E APLICAÇÕES GRÁFICAS 2D 3 1- PONTOS E RETAS NO OPENGL 3 1.1 A Tela do Computador 3 1.2 Cores 3 1.3 Introdução ao OpenGL 4 1.4 Exemplo: Plotar um ponto na tela utilizando as bibliotecas

Leia mais

Tecnologias de Jogos de Vídeo

Tecnologias de Jogos de Vídeo Tecnologias de Jogos de Vídeo Abel J. P. Gomes & Gonçalo Amador LAB. 1 Departamento de Informática Universidade da Beira Interior Portugal 2013 Copyright 2009-2013 All rights reserved. LAB. 1 JogAmp e

Leia mais