OpenGL Shading Language
|
|
|
- Daniel Santiago Pereira
- 10 Há anos
- Visualizações:
Transcrição
1 OpenGL Shading Language Guilherme S. Moura Saulo A. Pessoa Vladimir Alves Felipe Maia O que é? High Level Shading Language para OpenGL Descreve shaders Programa que define as propriedades de um vértice (vertex) ou pixel (fragment) Vertex -> Posição Fragment -> Cor 2
2 Por que usar Versatilidade - funcionalidade programável permite maior expressividade criativa Efeitos de última geração são possíveis em tempo real por GPUs programáveis Poder de processamento mais pode ser feito na GPU Libera a CPU para outras tarefas importantes GPU faz operações em paralelo 3 Por que usar Tudo o que pode ser feito pela funcionalidade fixa de OpenGL pode ser realizado por shaders, e muito mais! Inclusive cálculos não-gráficos GLSL é multi-plataforma - através dos vendedores de hardware e através dos sistemas operacionais 4
3 Vertex shaders Programas que operam sob vértices e seus dados associados; Intencionado a realizar: Vertex transformation Normal transformation and normalization Texture coordinate generation Texture coordinate transformation Lighting Color material application 5 Fragment shaders Programas que operam sob fragmentos (pixels) e seus dados associados; Intencionado a realizar: Operações em valores interpolados Acesso de textura Aplicação de textura Fog Soma de cores 6
4 Gramática GLSL Parece com C, mas com algumas importantes diferenças Não possui ponteiros Não possui operadores bit a bit Tipos básicos adicionais, incluindo vetores, matrizes, e samplers. Não há doubles ou strings 7 Tipos Básicos float, int, bool, sampler Vetores vec2, vec3, vec4 ivec2, ivec3, ivec4 bvec2, bvec3, bvec4 Matrizes mat2, mat3, mat4 8
5 Algumas operações vec4(1.0, 2.0, 3.0, 4.0) vec4.x => 1.0 vec4.xy => vec2(1.0, 2.0) vec4.rgba => vec4(1.0, 2.0, 3.0, 4.0) vec4.b => 3.0 vec4.xgb => erro! 9 Algumas operações vec4(1.0, 2.0, 3.0, 4.0) vec4.x => 1.0 vec4.xy => vec2(1.0, 2.0) vec4.rgba => vec4(1.0, 2.0, 3.0, 4.0) vec4.b => 3.0 vec4.xgb => erro! Swizzling e Smearing vec4.wzyx => vec4.abgr => (4.0, 3.0, 2.0, 1.0) vec4.yyy => vec3(3.0, 3.0, 3.0) 10
6 Gramática GLSL Variáveis built-in (ex. posição e cor) Funções built-in (ex. sine, exponentiation, cross product, etc.) Fortemente tipada, a única conversão implícita é de int pra float; 11 Qualificadores de tipo attribute For frequently changing information, from the application to the vertex shader eg. position, normal etc. attribute vec4 gl_vertex; attribute vec3 gl_normal; uniform For infrequently changing information, from the application to the vertex or fragment shader eg. light position, texture unit, other constants uniform mat4 gl_modelviewmatrix; uniform mat3 gl_normalmatrix 12
7 Qualificadores de tipo varying For interpolated information passed from a vertex shader to a fragment shader eg. texture coordinates, vertex color varying vec4 gl_color; // fragment varying vec4 gl_texcoord[]; const To declare nonwritable, compile time constant variables 13 Vertex Program 14
8 Fragment Program 15 Example: Vertex Shader varying vec4 diffusecolor; varying vec3 fragnormal; varying vec3 lightvector; uniform vec3 eyespacelightposition; void main(){ vec3 eyespacevertex= vec3(gl_modelviewmatrix * gl_vertex); lightvector= vec3(normalize(eyespacelightposition - eyespacevertex)); fragnormal = normalize(gl_normalmatrix * gl_normal); } diffusecolor = gl_color; gl_position = gl_modelviewprojectionmatrix * gl_vertex; 16
9 Example: Fragment Shader varying vec4 diffusecolor; varying vec3 lightvector; varying vec3 fragnormal; void main(){ float perfragmentlighting=max(dot(lightvector,fragnormal),0.0); } gl_fragcolor = diffusecolor * perfragmentlighting; 17 Exercício 1 Crie um projeto novo no RenderMonkey Adicione o efeito padrão Position ao workspace (AddDefaultEffect/OpenGL/Position) Modifique o modelo 3D para teapot.3ds Abra o Fragment Shader e modifique a cor de saída para vermelha 18
10 Exercício 2 Abra o projeto Exercicio1.rfx no RenderMonkey Abra o Vertex Shader e passe o valor da normal de cada vértice para o Fragment Shader Exiba o valor da normal recebido no Fragment Shader como cor Altere o Vertex Shader para passar valor da normal em coordenadas de vista 19 Exercício 3 Crie um novo projeto no RenderMonkey Adicione o efeito padrão Textured ao Workspace Modifique a textura base para o arquivo DayEarth.jpg Adicione uma textura nova ao efeito e escolha o arquivo NightEarth.jpg Modifique a origem de ambas as textura para Bottom Left Adicione um Texture Object ao Pass 0 que referencie a textura nova Também adicione uma variável do tipo Float ao Pass 0 Modifique o Fragment Shader para que o resultado exibido seja uma mistura entre as texturas NightEarth.jpg e DayEarth.jpg de acordo com o valor da variável (zero exibe noite e um exibe dia). 20
11 Exercício 4 Implemente o modelo de iluminação de Phong Criar variáveis para passar os coeficientes difuso, especular e ambiental do objeto Criar variáveis para passar a posição e a cor de uma fonte de luz onidirecional 21 Posso usar GLSL? Atualmente, quase todas as GPUs oferecem suporte GLEW OpenGL Extension Wrangler Library src.zip?download glewinfo.exe Irá lhe fornecer as funcionalidades da sua placa 22
12 Instalação e Inicialização glew32.dll, glew32.lib, glew.h, wglew.h Execute glewinit(); após glutinit(); GLenum err = glewinit(); if (GLEW_OK!= err) { } Também pode checar extensões if (GLEW_ARB_vertex_shader && GLEW_ARB_fragment_shader) printf("ready for GLSL\n"); else { printf("no GLSL support\n"); exit(1); } 23 Setup 24
13 Duvidas? Referencias KESSENICH, John M. The OpenGL Shading Language. Language Version: , ROST, R. J. OpenGL Shading Language. Addison-Wesley Professional, ISBN Keith O Conor. An Introduction to the OpenGL Shading Language. 25
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
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
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
Bruno Pereira Evangelista. www.brunoevangelista.com
Bruno Pereira Evangelista www.brunoevangelista.com 2 Introdução Shaders Pipeline de Renderização Evolução dos Shaders Como Programar Shaders Programando Shaders com XNA Ferramentas Conclusões 3 Durante
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
Computação Gráfica. GLSL - Programação de Shaders Toon Mapping; Texturas
Computação Gráfica GLSL - Programação de Shaders Toon Mapping; Texturas António nio Ramires Fernandes - Multimédia GLSL - Programação de Shaders Resumo Toon Shading Coordenadas de Textura Lattice Stripes
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
Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic [email protected]. 16 de maio de 2011. SCC0250 - Computação Gráca
Métodos para Rendering de Superfície SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic [email protected] Instituto de Ciências Matemáticas e de Computação (ICMC)
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.
Computação Gráfica. Renderização em Tempo Real. Erivaldo Xavier de Lima Filho [email protected]
Computação Gráfica Renderização em Tempo Real Erivaldo Xavier de Lima Filho [email protected] Computação Gráfica É a síntese de imagens por computador Consiste de vários passos: o Modelagem o Renderização
Universidade de Brasília Instituto de Ciências Exatas Departamento de Ciência da Computação. Shader Não Fotorrealístico para Desenho de Mangás
Universidade de Brasília Instituto de Ciências Exatas Departamento de Ciência da Computação Shader Não Fotorrealístico para Desenho de Mangás Johnny Ahrens Monografia apresentada como requisito parcial
Utilização. de Shaders de efeitos realistas para jogos. Bruno Pereira Evangelista. Pontifícia Universidade Católica de Minas Gerais
Utilização de Shaders para criação de efeitos realistas para jogos Bruno Pereira Evangelista Pontifícia Universidade Católica de Minas Gerais Sumário 2/48 Apresentação pessoal Introdução Pipeline de renderização
Modelos de Iluminação Métodos de surface-rendering
Modelos de Iluminação Métodos de surface-rendering VI / CG 2012/2013 Beatriz Sousa Santos, J. Madeira 1 As imagens realistas obtêm-se : usando projecções perspectivas da cena aplicando efeitos de iluminação
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
1. Evolução do OpenGL
Universidade Federal de Santa Maria Departamento de Eletrônica e Computação Prof. Cesar Tadeu Pozzer Disciplina: Computação Gráfica Avançada [email protected] 04/12/2012 OpenGL Shading Language 1. Evolução
Geração Procedural de Terrenos em GPU
Geração Procedural de Terrenos em GPU Felipe Gomes Sampaio Universidade Federal de Juiz de Fora Departamento de Ciência da Computação Orientadora: Jesuliana Nascimento Ulysses Agenda Introdução GPU Terrenos
Luiz Gonzaga da Silveira Jr
Luiz Gonzaga da Silveira Jr O p e n G L evolução recente Luiz Gonzaga da Silveira Jr OpenGL 4.x: D3D a guerra não acabou OpenGL 4.2 - novas funcionalidades: Contadores atômicos para shaders Tesselação
Computação Gráfica. GLSL - Introdução e Programação da Aplicação OpenGL
Computação Gráfica GLSL - Introdução e Programação da Aplicação OpenGL António nio Ramires Fernandes - Multimédia Evolução do Hardware Gráfico PCs Controladores VGA (Video Graphics Array) Introduzido em
INF 1620 P1-10/04/02 Questão 1 Nome:
INF 1620 P1-10/04/02 Questão 1 Considere uma disciplina que adota o seguinte critério de aprovação: os alunos fazem duas provas (P1 e P2) iniciais; se a média nessas duas provas for maior ou igual a 5.0,
Introdução à Linguagem
Introdução à Linguagem Curso de Nivelamento do PPGMNE Janeiro / 2011 Juliano J. Scremin [email protected] Um pouco de história Um pouco de história: Nascimento do Python Um pouco de história:
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
2 Orientação a objetos na prática
2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos
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
Um Tutorial sobre GPUs
Um Tutorial sobre GPUs Silvia Esparrachiari e Victor H. P. Gomes Instituto de Matemática e Estatística Universidade de São Paulo (USP) São Paulo SP Brasil {silviaeg,vhpgomes}@ime.usp.br Abstract. The present
MC-102 Aula 17 Strings e Matrizes
MC-102 Aula 17 Strings e Matrizes Instituto de Computação Unicamp 5 de Maio de 2015 Roteiro 1 Strings Strings: Exemplos 2 Matrizes Exemplos com Matrizes 3 Exercícios (Instituto de Computação Unicamp) MC-102
Introdução à Programação. Armazenamento de Grande Quantidade de Informação Usando Vetores
Introdução à Programação Armazenamento de Grande Quantidade de Informação Usando Vetores Armazenando Grande Quantidade de Informação Como armazenar tanta informação? Vetores! 2 Tópicos da Aula Hoje, aprenderemos
Expressões. Prof. Alberto Costa Neto [email protected]. Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe
Linguagens de Programação Departamento de Computação Universidade Federal de Sergipe Expressão é uma frase de um programa que ao ser avaliada retorna um valor Tipos Literais Agregados Chamadas de Função
Java. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
XNA Game Studio Express. Introdução. aos Shaders. Aula 9. Alexandre Santos Lobão [email protected]
XNA Game Studio Express Aula 9 Introdução aos Shaders Alexandre Santos Lobão [email protected] Pós em Desenvolvimento de Jogos Eletrônicos - IESB Agenda: Aula 9 A história até aqui Revisão Matrizes
Tipos de Dados, Tipos Abstratos de Dados Estruturas de Dados
Tipos de Dados, Tipos Abstratos de Dados Estruturas de Dados Tipo de dados, tipo abstrato de dados, estruturas de dados Termos parecidos, mas com significados diferentes Tipo de dado Em linguagens de programação
Introdução a POO. Introdução a Linguagem C++ e POO
Introdução a POO Marcio Santi Linguagem C++ Introdução a Linguagem C++ e POO Programação Orientada a Objetos (POO) e C++ Recursos C++ não relacionados às classes Incompatibilidades entre C e C++ Classes
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.
Introdução à Programação
Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5
Linguagens de Programação
Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Funções Classes de armazenamento
INTRODUÇÃO À LINGUAGEM C++
INTRODUÇÃO À LINGUAGEM C++ 1 - VARIÁVEIS Variáveis espaço de memória reservado para armazenar tipos de dados, com um nome para referenciar seu conteúdo. Observações importantes Todas as variáveis devem
Faculdade de Ciências Universidade Agostinho Neto Departamento de Matemática e Engenharia Geográfica Ciências da Computação
FaculdadedeCiências UniversidadeAgostinhoNeto DepartamentodeMatemáticaeEngenhariaGeográfica CiênciasdaComputação ProgramaçãoII SegundaParte Adaptado de um original dos docentes de ISCTE Objectivos Os alunos
Introdução a Linguagem C
Rafael Silva Guimarães =p://=p.ci.ifes.edu.br/informacca/rafael_guimaraes Introdução a Linguagem C Técnicas de Programação Histórico O C é derivado de uma outra linguagem: o B, criado por Ken Thompson.
Programação Paralela e Distribuída (DCC/UFRJ)
Programação Paralela e Distribuída (DCC/UFRJ) Aula 7: Programação com memória compartilhada usando OpenMP 1, 8, 10 e 15 de abril de 2015 OpenMP (Open MultiProcessing) Projetado para sistemas de memória
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
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.
Programação de Computadores I. Linguagem C Vetores
Linguagem C Vetores Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 08 Vetores 1 Vetores Sintaxe: tipo_variável nome_vetor[tamanho]; Um vetor é uma variável que possui várias ocorrências de um mesmo
Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic [email protected]. 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 [email protected] Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade
Introdução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
Iluminaçao. Os modelos de Iluminação são técnicas usadas para calcular a intensidade da cor de um ponto a ser exibido.
Iluminaçao Os modelos de Iluminação são técnicas usadas para calcular a intensidade da cor de um ponto a ser exibido. Também chamados modelos de reflexão, utilizam: a cor do objeto a cor da luz a posição
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
Técnicas de Programação I
Técnicas de Programação I Conceitos básicos C/C++ Material baseado nas aulas da Profa. Isabel Harb Manssour http://www.inf.pucrs.br/~manssour/laproi, entre outros materias Registros e Arquivos Conceito
Harrison Kinsley Will McGugan
Harrison Kinsley Will McGugan Novatec Original English language edition published by Apress, Copyright 2015 by Apress, Inc.. Portugueselanguage edition for Brazil copyright 2015 by Novatec Editora. All
Estruturas (registros)
BCC 201 - Introdução à Programação I Estruturas (registros) Guillermo Cámara-Chávez UFOP 1/44 Estruturas (struct) I Imaginemos que queremos ler as notas de 4 provas para um aluno e calcular a média do
INF 1005 Programação I
INF 1005 Programação I Aula 12 Cadeia de Caracteres (Strings) Edirlei Soares de Lima Caracteres Até o momento nós somente utilizamos variáveis que armazenam números (int, float ou
Manipulação de Arquivos
1 Manipulação de Arquivos Para realizar E/S em arquivo, você precisa incluir o arquivo-cabeçalho fstream.h nos programas. Esse arquivo define muitas classes e valores importantes. Abrindo e fechando um
Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>
Aula 1 C é uma linguagem de programação estruturada desenvolvida por Dennis Ritchie nos laboratórios Bell entre 1969 e 1972; Algumas características: É case-sensitive, ou seja, o compilador difere letras
O COMPUTADOR. Introdução à Computação
O COMPUTADOR Introdução à Computação Sumário O Hardware O Software Linguagens de Programação Histórico da Linguagem C Componentes Básicos do Computador O HARDWARE: O equipamento propriamente dito. Inclui:
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
Java 2 Standard Edition Como criar classes e objetos
Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da
struct LISTA item quant
UNIVERSIDADE SÃO JUDAS TADEU ESTRUTURA DE DADOS - PROF. H. Senger IMPLEMENTAÇÃO DE LISTAS COM VETORES A implementação de listas utilizando vetores é simples. Existe apenas uma pequena questão, com relação
Capítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Capítulo 14 Herança a e Polimorfismo Objetivos do Capítulo Apresentar os conceitos de herança e de polimorfismo. Explorar os diversos recursos disponíveis no Java para a aplicação da herança e do polimorfismo
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
Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre
Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Cap. 01 Fundamentos de Computadores Sumário : Conceitos básicos: computador,
Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura
UFPI CCN DIE Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura O projeto Desenvolver um compilador de um subconjunto básico da linguagem PORTUGOL.
Prof. Yandre Maldonado - 1 PONTEIROS. Prof. Yandre Maldonado e Gomes da Costa
Prof. Yandre Maldonado - 1 PONTEIROS Prof. Yandre Maldonado e Gomes da Costa PONTEIROS Prof. Yandre Maldonado - 2 Ponteiro é uma variável que possui o endereço de outra variável; É um poderoso recurso
2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;}
2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II Exercício : Construtores são métodos especiais sem tipo de retorno (nem mesmo void) e de mesmo nome que a classe que são invocados quando da criação
UNIVERSIDADE FEDERAL DO PARANÁ
CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 05 APRESENTAÇÃO: Nesta aula vamos ver como se faz a criação de Métodos
Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição
Lista de Contas Lista de Contas: Assinatura null Quais são os métodos necessários? class ListaDeContas { void inserir (Conta c) { void retirar (Conta c) { Conta procurar (String num) { Listas de Contas:
Programação Básica em Arduino Aula 2
Programação Básica em Arduino Aula 2 Execução: Laboratório de Automação e Robótica Móvel Variáveis são lugares (posições) na memória principal que servem para armazenar dados. As variáveis são acessadas
INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 4
INF1 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 4 1. Considere uma aplicação que utiliza pontos, retângulos e círculos para representações gráficas. Um ponto é composto pelas suas coordenadas x e y, um retângulo
Fundamentos de Programação II. Introdução à linguagem de programação C++
Fundamentos de Programação II Introdução à linguagem de programação C++ Prof. Rafael Henrique D. Zottesso Material cedido por Prof. Msc. Everton Fernando Baro Agenda IDE HelloWorld Variáveis Operadores
Operaçõe õ s c om o Strings Intr oduç ão a o Ponte iros o e Funçõe õ s
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Operações com Strings Introdução a Ponteiros e Funções Profa Rosana Braga 1 Strings Strings são seqüências de caracteres
Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo [email protected].
Programação Estruturada Linguagem C Fundamentos da Linguagem Prof. Luis Nícolas de Amorim Trigo [email protected] Sumário Estrutura Básica Bibliotecas Básicas Tipos de Dados Básicos Variáveis/Declaração
glslangel: Uma Ferramenta de Depuração para a Linguagem GLSL
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA CURSO DE CIÊNCIA DA COMPUTAÇÃO BÁRBARA BELLAVER GONÇALVES glslangel: Uma Ferramenta de Depuração para a Linguagem GLSL Trabalho de Graduação
Algoritmos e Programação _ Departamento de Informática
16 ARQUIVOS Um arquivo corresponde a um conjunto de informações (exemplo: uma estrutura de dados-registro), que pode ser armazenado em um dispositivo de memória permanente, exemplo disco rígido. As operações
Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica
Introdução a Programação Ponteiros e Strings, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos a relação entre ponteiros e strings Ponteiros para strings X Vetores de Caracteres Vetores de ponteiros
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,
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA
Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais
Programação 1. Rafael Vargas Mesquita. http://www.ci.ifes.edu.br ftp://ftp.ci.ifes.edu.br/informatica/rafael/
Programação 1 Rafael Vargas Mesquita http://www.ci.ifes.edu.br ftp://ftp.ci.ifes.edu.br/informatica/rafael/ Definição de Matriz Definição: é um conjunto de espaços de memória referenciados por um mesmo
Programação por Objectos. Java
Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:
Trabalho 3: Agenda de Tarefas
INF 1620 Estruturas de Dados Semestre 08.2 Trabalho 3: Agenda de Tarefas O objetivo deste trabalho é a implementação de um conjunto de funções para a manipulação de uma agenda de tarefas diárias, de forma
DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA
DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA Sistemas Operativos 2003/2004 Trabalho Prático #2 -- Programação em C com ponteiros -- Objectivos Familiarização
OpenCV. http://opencv.willowgarage.com/wiki/
OpenCV http://opencv.willowgarage.com/wiki/ Introdução a OpenCV Geralmente, quando iniciamos estudos numa determinada linguagem de programação é comum que o iniciante implemente um pequeno programa de
Linguagem de Programação. Introdução ao PHP. Prof Mauricio Lederer Ciência da Computação - UNIANDRADE 1
Linguagem de Programação Introdução ao PHP 1 O que é PHP? - significa: Hypertext Preprocessor - uma das linguagens mais utilizadas para web - transforma sites estáticos em dinâmicos - atualização de páginas
Resumo da Introdução de Prática de Programação com C. A Linguagem C
Resumo da Introdução de Prática de Programação com C A Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional
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 [email protected] www.univasf.edu.br/~jorge.cavalcanti
Estrutura de Dados Básica
Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 4: Tipos de Dados O objetivo desta aula é apresentar os tipos de dados manipulados pela linguagem C, tais como vetores e matrizes, bem como
Application Note FBEE Comunicação Serial Wireless REV01. - 1 - Rev01
Application Note FBEE Comunicação Serial Wireless REV01-1 - Rev01 1. INTRODUÇÃO Aplicações com redes sem fio vêm se tornando bastante comuns. De aplicações industriais a projetos específicos, criou-se
Computação Gráfica - 13
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - 13 Prof. Jorge Cavalcanti [email protected] www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15
INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15 1. Um número racional é expresso por dois inteiros: um numerador e um denominador (este último diferente de zero!). Implemente um TAD para representar números
Aproximação experimental da complexidade assintótica de shaders para dispositivos móveis utilizando OpenGL ES
Universidade de Brasília - UnB Faculdade UnB Gama - FGA Engenharia de Software Aproximação experimental da complexidade assintótica de shaders para dispositivos móveis utilizando OpenGL ES Autor: Alex
Cap.2.5: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código
Cap.2.5: Design de Algoritmos e Programação Estruturada Algoritmos, fluxogramas e pseudo-código 1 Sumário Problemas e algoritmos Desenho de algoritmos/programas Passos na construção de algoritmos Método
Desenvolvimento Web TCC-00.226 Turma A-1 / 2013.2
1 Desenvolvimento Web TCC-00.226 Turma A-1 / 2013.2 Professor Leandro A. F. Fernandes Instituto de Computação Universidade Federal Fluminense Lista de Exercícios 02 Orientação a Objetos 1) Identifique
Programação científica C++
Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 9 Tipos Estruturados Definição de novos tipos com struct Elementos do struct Exemplos Exercícios Motivação Muitas vezes precisamos agrupar informações
Curso de Linguagem C
Curso de Linguagem C 1 Aula 1 - INTRODUÇÃO...4 AULA 2 - Primeiros Passos...5 O C é "Case Sensitive"...5 Dois Primeiros Programas...6 Introdução às Funções...7 Introdução Básica às Entradas e Saídas...
Algoritmos e Programação II. Sobrecarga
Algoritmos e Programação II Baseado no Material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, têm nomes distintos porque
Sistemas Microcontrolados
Sistemas Microcontrolados Aula 4: Programação em C para PIC Marco Jose da Silva [email protected] Compiladores C para PICs C18 HI-TECH CCS IAR MikroC http://www.microchip.com/ http://www.htsoft.com/
Prof. Esp. Adriano Carvalho
Prof. Esp. Adriano Carvalho O que é um Programa? Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais
Prof. Dr. Abel Gomes ([email protected]) Cap.4: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código
Prof. Dr. Abel Gomes ([email protected]) Cap.4: Design de Algoritmos e Programação Estruturada Algoritmos, fluxogramas e pseudo-código 1 Sumário Problemas e algoritmos Desenho de algoritmos/programas Passos
Aula 1 Tipo Abstrato de Dados
Aula 1 Tipo Abstrato de Dados Luiz Chaimowicz e Raquel O. Prates Livro Projeto de Algoritmos Capítulo 1 2009-1 O que é um algoritmo? O que é um programa? Algoritmos Sequência de ações executáveis para
