Introdução ao WebGL. Pedro Costa 2014
|
|
- Zilda Lagos Caires
- 8 Há anos
- Visualizações:
Transcrição
1 Introdução ao WebGL Pedro Costa 2014
2 Brevíssima Introdução ao Javascript
3 Variáveis Tipificação solta var a; // para tudo Princípio de incerteza c = 2; c já existia? Who cares!
4 Objectos Podem ser criados do nada var a = { ; Ou a partir de uma função function Fruta() { var b = new Fruta();
5 Propriedades de Objectos Podem-se declarar assim var a = { propname1: 2, propname2: str ; function Fruta() { this.propname1 = 2; this.propname2 = str ; Ou assim a.propname1 = 2; a[ propname1 ] = 2; Podem-se aceder como em C++ b = a.propname1; b = a[ propname1 ];
6 Funções = Objectos function mastigacomida() { var a = mastigacomida; a(); // mastigada
7 Arrays Podem ser criados assim var a = [ ]; var b = [ batata, tomate ]; E acedidos como em C var b = array[1];
8 Operações e Propriedades de Arrays Propriedade length a.length Operações úteis a.sort() a.push(b) a.pop() a.slice(1,3) a.concat(array2, array3) a.reverse()
9 Herança Em C++ -> Classes Em JavaScript -> Protótipos de Objectos Baseado na clonagem de objectos individuais Declaração Fruit.prototype = { grow: function() {, shrink: function() { Utilização Banana.prototype = new Fruit(); var b = new Banana(); b.grow();
10 Consultar w3schools Code academy
11 Transição de OpenGL para WebGL
12 Corre no browser <html> <head> </html> <meta http-equiv="content-type" content="text/html; charset=iso "> </head> <title></title> <script type="text/javascript"> </script> <body onload="webglstart();"> </body>
13 Inicialização <script type= text/javascript > var gl; function webglstart() { var canvas = document.createelement( canvas ); canvas.id = mycanvas ; canvas.width = 0.99*window.innerWidth; canvas.height = 0.98*window.innerHeight; document.body.appendchild(canvas);...
14 Inicialização try { gl = canvas.getcontext( experimental-webgl ); gl.viewportwidth = canvas.width; gl.viewportheight = canvas.height; catch (e) { if (!gl) { alert( Could not initialise WebGL, sorry :-( );...
15 Inicialização... initshaders(); initbuffers(); gl.clearcolor(0.0, 0.0, 0.0, 1.0); gl.enable(gl.depth_test); </script> drawscene();
16 Os shaders <head> <meta http-equiv="content-type" content="text/html; charset=iso "> </head> <title></title> <script id="shader-vs" type="x-shader/x-vertex"> </script> <script id="shader-fs" type="x-shader/x-fragment"> </script> <script type="text/javascript"> </script>
17 Recolher os shaders function getshader(gl, id) { var shaderscript = document. getelementbyid(id); if (!shaderscript) return null; var str = ; var k = shaderscript.firstchild; while (k) { if (k.nodetype == 3) str += k.textcontent; k = k.nextsibling; var shader;...
18 Recolher os shaders if (shaderscript.type == x-shader/x-fragment ) { shader = gl.createshader(gl.fragment_shader); else if (shaderscript.type == x-shader/x-vertex ) { shader = gl.createshader(gl.vertex_shader); else { return null; gl.shadersource(shader, str); gl.compileshader(shader);...
19 Recolher os shaders... if (!gl.getshaderparameter(shader, gl.compile_status)) { alert(gl.getshaderinfolog(shader)); return null; return shader;
20 Inicializar os shaders function initshaders() { var fragmentshader = getshader(gl, "shader-fs"); var vertexshader = getshader(gl, "shader-vs"); shaderprogram = gl.createprogram(); gl.attachshader(shaderprogram, vertexshader); gl.attachshader(shaderprogram, fragmentshader); gl.linkprogram(shaderprogram); if (!gl.getprogramparameter(shaderprogram, gl.link_status)) alert("could not initialise shaders");
21 Inicializar os shaders gl.useprogram(shaderprogram); shaderprogram.vertexpositionattribute = gl.getattriblocation(shaderprogram, "position"); shaderprogram.normalattribute = gl.getattriblocation(shaderprogram, "normal"); shaderprogram.texattribute = gl.getattriblocation(shaderprogram, "texcoord"); gl.enablevertexattribarray(shaderprogram.vertexpositionattribute); gl.enablevertexattribarray(shaderprogram.normalattribute); gl.enablevertexattribarray(shaderprogram.texattribute); shaderprogram.pmatrixuniform = gl.getuniformlocation(shaderprogram, "upmatrix"); shaderprogram.mvmatrixuniform = gl.getuniformlocation(shaderprogram, "umvmatrix");
22 Inicializar os buffers var vertices = [0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0]; var texcoords = [0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0]; var normals = [0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0]; var vertexstride = 4; var faceindex = [0, 1, 2, 2, 3, 0]; var normalsstride = 3; var texstride = 2; var faceindexstride = 1;
23 Inicializar os buffers function initbuffers() { quadvertexpositionbuffer = gl.createbuffer(); gl.bindbuffer(gl.array_buffer, quadvertexpositionbuffer); gl.bufferdata(gl.array_buffer, new Float32Array(vertices), gl.static_draw); quadvertexpositionbuffer.itemsize = vertexstride; quadvertexpositionbuffer.numitems = vertices.length/vertexstride; // igual para buffers de normais e texturas, ajustando itemsize & numitems
24 Inicializar os buffers faceindexbuffer = gl.createbuffer(); gl.bindbuffer(gl.element_array_buffer, faceindexbuffer); gl.bufferdata(gl.element_array_buffer, new Uint16Array(faceIndex), gl. STATIC_DRAW); faceindexbuffer.itemsize = faceindexstride; faceindexbuffer.numitems = faceindex.length/faceindexstride;
25 Desenhar function drawscene() { gl.viewport(0, 0, gl.viewportwidth, gl.viewportheight); gl.clear(gl.color_buffer_bit gl.depth_buffer_bit); mat4.perspective(45, gl.viewportwidth / gl.viewportheight, 0.1, 100.0, pmatrix); mat4.identity(mvmatrix); gl.bindbuffer(gl.array_buffer, quadvertexpositionbuffer); gl.vertexattribpointer(shaderprogram.vertexpositionattribute, quadvertexpositionbuffer.itemsize, gl.float, false, 0, 0);
26 Desenhar gl.bindbuffer(gl.array_buffer, normalbuffer); gl.vertexattribpointer(shaderprogram.normalattribute, normalbuffer.itemsize, gl. FLOAT, false, 0, 0); gl.bindbuffer(gl.array_buffer, texbuffer); gl.vertexattribpointer(shaderprogram.texattribute, texbuffer.itemsize, gl.float, false, 0, 0); gl.bindbuffer(gl.element_array_buffer, faceindexbuffer); setmatrixuniforms(); gl.drawelements(gl.triangles, faceindexbuffer.numitems, gl.unsigned_short, 0); // VAOs??
27 E as matrizes? var pmatrix; var mvmatrix; function setmatrixuniforms() { gl.uniformmatrix4fv(shaderprogram.pmatrixuniform, false, pmatrix); gl.uniformmatrix4fv(shaderprogram.mvmatrixuniform, false, mvmatrix);
28 Adicionar texturas function inittextures() { text = gl.createtexture(); text.image = new Image(); text.image.onload = function () { handleloadedtexture(text); text.image.src = "nehe.gif";
29 Adicionar texturas function handleloadedtexture(text) { gl.bindtexture(gl.texture_2d, text); gl.pixelstorei(gl.unpack_flip_y_webgl, true); gl.teximage2d(gl.texture_2d, 0, gl.rgba, gl.rgba, gl.unsigned_byte, text.image); gl.texparameteri(gl.texture_2d, gl.texture_mag_filter, gl.nearest); gl.texparameteri(gl.texture_2d, gl.texture_min_filter, gl.nearest); gl.bindtexture(gl.texture_2d, null);
30 Adicionar texturas function webglstart() { initshaders(); initbuffers(); inittextures(); gl.clearcolor(0.0, 0.0, 0.0, 1.0); gl.enable(gl.depth_test); drawscene();
31 Adicionar texturas function initshaders() { // get uniform for textures shaderprogram.sampleruniform = gl.getuniformlocation(shaderprogram, "usampler");
32 Desenhar texturas function drawscene() { gl.activetexture(gl.texture0); gl.bindtexture(gl.texture_2d,text); gl.uniform1i(shaderprogram.sampleruniform, 0); gl.bindbuffer(gl.array_buffer, quadvertexpositionbuffer); gl.vertexattribpointer(shaderprogram.vertexpositionattribute, quadvertexpositionbuffer.itemsize, gl.float, false, 0, 0);
33 glmatrix Biblioteca de cálculo matricial e vectorial para WebGL Criado por Brandon Jones Operações para 4x4, 3x3 e vectores tri-dimensionais
34 glmatrix - operadores básicos // nova matrix var A = mat4.create(); // A = A.B mat4.multiply(a, B); // A = I 4x4 mat4.identity(a); // C = A.B mat4.multiply(a, B, C);
35 glmatrix - operadores básicos // copiar matrix A para a matrix B mat4.set(a, B); // returnar uma string que representa a matrix A mat4.str(a);
36 glmatrix - transformações // init um vector var b = vec3.create([1 1 0]); // init outro vector var c = vec3.create([2 2 1]); // A = T(b).A mat4.translate(a, b); // A = S(c).A mat4.scale(a, c); // B = T(b).A mat4.translate(a, b, B); // B = S(c).A mat4.scale(a, c, B);
37 glmatrix - transformações // init um vector var b = vec3.create([0 0 1]); // A = R(90º,b).A mat4.rotate(a, Math.PI / 2, b); // A = R x (90º).A mat4.rotatex(a, Math.PI / 2); // B = R(90º,b).A mat4.rotate(a, Math.PI / 2, b, B); // B = R y (90º).A mat4.rotatey(a, Math.PI / 2, B);
38 glmatrix - matriz normal // init var nmatrix = mat3.create(); // nmatrix = [modelview] 3x3-1 mat4.toinversemat3(modelview, nmatrix); // nmatrix = [ [modelview] 3x3-1 ] T mat3.transpose(nmatrix);
39 glmatrix - projecções e lookat // projecção ortogonal var orth = mat4.ortho(left, right, bottom, top, near, far); // projecção perspectiva var pers = mat4.perspective(fov, aspect, near, far); // eye, center e up são vec3s var lookatmat = mat3.lookat(eye, center, up);
40 Voltando à aplicação - o game loop function webglstart() { initshaders(); initbuffers(); inittextures(); gl.clearcolor(0.0, 0.0, 0.0, 1.0); gl.enable(gl.depth_test); drawscene();
41 O game loop function webglstart() { initshaders(); initbuffers(); inittextures(); gl.clearcolor(0.0, 0.0, 0.0, 1.0); gl.enable(gl.depth_test); loop();
42 O game loop function loop() { requestanimframe(loop); drawscene(); update(); Biblioteca WebGL Fundamentals API comum providenciada pelos developers dos browsers Controlar e optimizar o refrescamento
43 Teclado function webglstart() { inittextures(); gl.clearcolor(0.0, 0.0, 0.0, 1.0); gl.enable(gl.depth_test); document.onkeydown = handlekeydown; document.onkeyup = handlekeyup; loop();
44 Teclado var currentlypressedkeys = {; function handlekeydown(event) { currentlypressedkeys[event.keycode] = true; if (String.fromCharCode(event.keyCode) == "F") { function handlekeyup(event) { currentlypressedkeys[event.keycode] = false;
45 Teclado function loop() { requestanimframe(loop); handlekeys(); drawscene(); update(); function handlekeys() { if (currentlypressedkeys[33]) { // Page Up z -= 0.05; JavaScript key codes
46 Rato function webglstart() { document.onkeydown = handlekeydown; document.onkeyup = handlekeyup; canvas.onmousedown = handlemousedown; document.onmouseup = handlemouseup; // capturar fora do canvas document.onmousemove = handlemousemove; loop();
47 Rato var mousedown = false; var lastmousex = null; var lastmousey = null; function handlemousedown(event) { mousedown = true; lastmousex = event.clientx; lastmousey = event.clienty; function handlemouseup(event) { mousedown = false; function handlemousemove(event) { if (!mousedown) return; var newx = event.clientx; var newy = event.clienty; var deltax = newx - lastmousex; var deltay = newy - lastmousey; lastmousex = newx lastmousey = newy;
48 Mais informações Restante API é semelhante ao que já vimos no OpenGL Learning WebGL WebGL reference WebGL cheat sheet
49 Sugestões de Estruturação da Aplicação
50 Estrutura Modular <html> <head> <script type="text/javascript" src="log.js"></script> <script type="text/javascript" src="frog.js"></script> <script type="text/javascript" src="game.js"></script> </head> <body onload="webglstart();"> </body> </html>
51 Mantém-se o Resto Game.prototype.draw = function() { Game.prototype.update = function (dt) { Game.prototype.reset = function() { Frog.prototype.draw = function() { Frog.prototype.collides = function(other) { // etc etc etc
52 Inicializar a aplicação <script type= text/javascript > var game = new Game(); function webglstart() { var canvas = document.createelement( canvas ); canvas.id = mycanvas ; canvas.width = 0.99*window.innerWidth; canvas.height = 0.98*window.innerHeight; document.body.appendchild(canvas); game.init(canvas); </script>
53 Inicializar a aplicação Game.prototype.init = function(canvas) { initgl(canvas); initshaders(); initbuffers(); inittextures(); gl.clearcolor(0.0, 0.0, 0.0, 1.0); gl.enable(gl.depth_test); loop();
54 Fim
Aula de JavaScript 05/03/10
Objetos Sabe-se que variável são contêiners que podem armazenar um número, uma string de texto ou outro valor. O JavaScript também suporta objetos. Objetos são contêiners que podem armazenar dados e inclusive
Leia maisHTML Básico Formulários. Matheus Meira
HTML Básico Formulários Matheus Meira 1 Objetivos Neste apresentação conheceremos os fundamentos básicos de HTML para a manipulação com servlets e jsp. Serão vistos Formulários Links Elementos de disparo
Leia maisEscrito por Vinícius Godoy de Mendonça Seg, 06 de Abril de 2015 11:10 - Última atualização Seg, 06 de Abril de 2015 11:10
No artigo passado, vimos como criar uma série de quadrados dispostos lado-a-lado. Uma das coisas interessantes sobre essa geometria é que ela pode ser distorcida para criar os mais variados tipos de superfícies.
Leia maisIncorporando JavaScript em HTML
Incorporando JavaScript em HTML Existem quatro maneiras de incorporar JavaScript em HTML. Vamos abordar as três primeiras, por ser mais comum: Entre as tags dentro do código HTML. A partir
Leia maisImplementação do algoritmo Marching Cubes usando shaders. Luiz Fernando Oliveira Corte Real lreal@ime.usp.br
Implementação do algoritmo Marching Cubes usando shaders Luiz Fernando Oliveira Corte Real lreal@ime.usp.br Marching Cubes Textura 3D Isosuperfície 3 9 8 7 6 8 5 4 9 9 7 6 10 6 4 2 Marching Cubes Textura
Leia maisJavaScript. Prof. Msc. Juliano Gomes Weber (jgw@unijui.edu.br) Notas de Aula Aula 12 1º Semestre - 2011. UNIJUÍ DETEC Ciência da Computação
UNIJUÍ DETEC Ciência da Computação Prof. Msc. Juliano Gomes Weber (jgw@unijui.edu.br) JavaScript Notas de Aula Aula 12 1º Semestre - 2011 Tecnologias Web jgw@unijui.edu.br Introdução Com JavaScript implementamos
Leia maisCarregando dados do Banco de Dados MySQL através de uma tag SELECT
Carregando dados do Banco de Dados MySQL através de uma tag SELECT Como já vimos todo o processo de criação do Objeto XMLHttpRequest e como efetuar a comunicação com o servidor através das funções de OPEN
Leia maisSIMULADOS & TUTORIAIS
SIMULADOS & TUTORIAIS TUTORIAIS JAVASCRIPT Tipos de dados em JavaScript Copyright 2013 Todos os Direitos Reservados Jorge Eider F. da Silva Proibida a reprodução deste documento no todo ou em parte por
Leia maisMODULO 4 DESENVOLVIMENTO DE PÁGINAS WEB ESTÁTICAS. Redes de Comunicação
MODULO 4 DESENVOLVIMENTO DE PÁGINAS WEB ESTÁTICAS Redes de Comunicação Regras para um website eficaz Categorização dos conteúdos estrutura lógica dos conteúdos Condensação conteúdos simples e directos
Leia maisTestando e Comparando Valores
Testando e Comparando Valores A Instrução if Um dos recursos mais importantes de uma linguagem de computador é a capacidade de testar e comparar valores, permitindo que seu programa se comporte diferentemente
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 maisRespondendo a eventos
Respondendo a eventos Até agora, a maioria dos scripts que você escreveu foi executado de uma forma tranqüila e ordenada, movendo-se da primeira instrução para a última. Agora aprenderemos a utilizar a
Leia maisEntendendo a geometria
No artigo entitulado Um quadrado com Index Buffer propusemos um desafio: o de construir uma malha quadriculada para o desenho de um chão. A função de construção da malha deveria receber como parâmetro
Leia maisJSP - JavaServer Pages
JSP - JavaServer Pages 1 Sumário O que é o JSP? Comparação com ASP, Servlets, e Javascript Disponibilidade Um exemplo simples Mais sobre Sintaxe Um pouco de JavaBeans Um exemplo mais complexo 2 O que são
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 maisJavaScript (ou JScript)
1. Introdução JavaScript (ou JScript) Uma linguagem como o JavaScript permite criar interfaces interativas na web (permite a interação do usuário). Para desenvolver web sites interativos precisamos de
Leia maisPROF. DANIELA PIRES. Aplicações para Web. Aplicações para Web - FMU - 2012 - Prof. Daniela Pires
PROF. DANIELA PIRES Aplicações para Web 1 *JavaScript * Validação de Formulários * HTML Dinâmico 2 *Linguagem de scripting * orientada para objeto * interpretada pelo browser *versão atual: 1.3 (para IE)
Leia mais4. A Linguagem JavaScript
4. A Linguagem JavaScript! A linguagem XHTML, por não ser uma linguagem de programação e sim uma linguagem de marcação, não permite interação entre o usuário e a página, além de clicar em um link, fazendo
Leia maisProgramação WEB I Funções
Programação WEB I Funções Funções As funções podem ser definidas como um conjunto de instruções, agrupadas para executar uma determinada tarefa. Dentro de uma função pode existir uma chamada a outra função.
Leia maisAula 12: Funções. Pré-requisitos: Todas as aulas anteriores deste módulo. 1. Aproveitando Códigos no Programa
Aula 12: Funções Nesta aula explicaremos o que são e como usar funções nos seus programas em JavaScript. Você aprenderá como elas podem receber e retornar valores à estrutura que as acionou. Entenderá
Leia maisSistemas de coordenadas
No artigo passado explicamos como desenhar um simples triângulo na tela. Entretanto, isso foi feito usando o sistema de coordenadas padrão, que mapeia a tela em intervalos de 1 até 1 em cada eixo. Esse
Leia maisFolha Prática Nº4 HTML5. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática
Tecnologias Internet - 0/0, 0/0 Folha Prática Nº HTML . NAV UNIVERSIDADE DA BEIRA INTERIOR Tecnologias Internet - 0/0, 0/0 0 NAV: permite que um conjunto de links seja
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 maisComputaçã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 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 maisFormatos de publicidade
1 Formatos de publicidade Superfull 728x90 px Superfull 728x90 px E-mail marketing E-mail marketing Anuncie no ZAP Publicidade Anuncie no ZAP Publicidade Formato disponível para a home de imóveis, revista
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETO EM PHP
PROGRAMAÇÃO ORIENTADA A OBJETO EM PHP O PHP através da versão 5, veio desenvolvido com suporte a programação orientada a objetos. O que significa isso? Que a partir da versão 5 é possível criar bibliotecas
Leia maisSintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.
Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java
Leia maisPanorâmica geral sobre PHP. PHP é uma linguagem que permite fazer. um ficheiro em PHP contem código PHP misturado com HTML.
Panorâmica geral sobre PHP PHP é uma linguagem que permite fazer páginas dinâmicas. um ficheiro em PHP contem código PHP misturado com HTML. em vez de PHP podíamos utilizar outra linguagem qualquer desde
Leia maisIntrodução a Servlets e JSP. Prof. Samuel Martins samuellunamartins at gmail dot com Faculdade São Miguel
Introdução a Servlets e JSP samuellunamartins at gmail dot com Conteúdo da aula Introdução a HTML Introdução a Servlets Preparando o ambiente de programação Exemplo de Servlets 2 Websites na década de
Leia maisUniversidade Federal de Uberlândia
Universidade Federal de Uberlândia Programação Orientada a Objetos I Introdução a Java Sintaxe básica OO Prof. Fabiano Azevedo Dorça Em Java, cada classe dá origem a um arquivo.java contendo o código fonte.
Leia maisJavascript 101. Parte 2
Javascript 101 Parte 2 Recapitulando O Javascript é uma linguagem de programação funcional Os nossos scripts são executados linha a linha à medida que são carregados. O código que está dentro de uma função
Leia maisDesenvolvimento de aplicações Web. Java Server Pages
Desenvolvimento de aplicações Web Java Server Pages Hamilton Lima - athanazio@pobox.com 2003 Como funciona? Servidor web 2 Internet 1 Browser 3 Arquivo jsp 4 JSP Compilado 2 Passo a passo 1 browser envia
Leia maisJSP - ORIENTADO A OBJETOS
JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...
Leia mais$XOD0DQLSXODomRGH-DQHODVH)UDPHV
$XOD0DQLSXODomRGH-DQHODVH)UDPHV As formas de programação que vimos até aqui envolviam apenas uma janela ou frame. Aplicações reais, geralmente, envolvem múltiplas janelas ou frames. Nesta aula explicaremos
Leia maisEste tutorial ensina a enviar um email através de um script PHP, a partir de um interface em Flash.
FORMULÁRIO EM PHP Introdução Este tutorial ensina a enviar um email através de um script PHP, a partir de um interface em Flash. Não há nenhum truque de PHP neste processo. De facto, não há nenhum truque
Leia maisAplicação para Web I. Começando a compreender o HTML
Aplicação para Web I Começando a compreender o HTML A Linguagem da WEB O HTML ou HyperText Markup Language linguagem universal compreendida pelos navegadores web (browsers) para a comunicação utilizando
Leia maisPHP e MySQL Autenticação de Usuários
PHP e MySQL Autenticação de Usuários Programação de Servidores Marx Gomes Van der Linden http://marx.vanderlinden.com.br/ Controle de Acesso A maioria das aplicações web envolve em algum ponto um mecanismo
Leia mais= "mail.csgnet.org" 'Servidor que vai enviar a
DICAS ASP 2 1.) ENVIO DE E-MAILS Para este exemplo são utilizados dois ficheiros. Um chamado email.html que vai vai conter o formulário de envio. O outro chamado email.asp que vai conter o código ASP para
Leia maisProgramação por Objectos. Java
Programação por Objectos Java Parte 3: Métodos LEEC@IST Java 1/45 Métodos (1) Sintaxe Qualif Tipo Ident ( [ TipoP IdentP [, TipoP IdentP]* ] ) { [ Variável_local Instrução ]* Qualif: qualificador (visibilidade,
Leia maisUENF Curso de Javascript Prof. Sérgio Rodrigues Pg 1 ÍNDICE
UENF Curso de Javascript Prof. Sérgio Rodrigues Pg 1 ÍNDICE Javascript - Módulo I 02 Introdução 02 Escrevendo no documento 02 Criando variáveis 03 Mensagens 04 Alerta 04 Confirmação 04 Receptor 05 Operadores
Leia maisUnidade IV: Ponteiros, Referências e Arrays
Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática
Leia maisUNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 6 Filas Estrutura de Dados A Estrutura de Dados Fila Fila é uma estrutura de dados usada em programação, que tem regras para
Leia maisPROGRAMAÇÃO PARA INTERNET. Fonte: Raul Paradeda
PROGRAMAÇÃO PARA INTERNET Introdução à AJAX Fonte: Raul Paradeda INTRODUÇÃO Para entender o que é o AJAX é necessário ter o prévio conhecimento de: HTML / XHTML; Javascript; CSS; XML. INTRODUÇÃO Ao pesquisar
Leia mais2.3. PHP Tipos de dados e operadores
Programação para Internet II 2.3. PHP Tipos de dados e operadores Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Tipos de dados Embora não seja necessário declarar os tipos de dados das variáveis,
Leia maisMATRIZ DE EXAME DE EQUIVALÊNCIA À FREQUÊNCIA
DISCIPLINA: BASES DE PROGRAMAÇÃO CÓDIGO - 104 PASCAL Utilizar as instruções básicas da linguagem Pascal; Aplicar estruturas de decisão na elaboração de programas; Desenvolver programas em Pascal de forma
Leia maisAplicaça o Formula rio ScriptCase
Aplicaça o Formula rio ScriptCase Formulário/Configuração Orientação: Único registro Alinhamento Horizontal: Centralizado Largura da Tabela: 800 Unidade da Largura da Tabela: Pixel Formatar ao digitar:
Leia maisIntrodução à Engenharia ENG1000
Introdução à Engenharia ENG1000 Aula 14 Vetores, Matrizes e Tabelas 2016.1 Prof. Augusto Baffa Introdução Até agora nós temos usado variáveis simples para armazenar valores usados
Leia maisProva de pré-requisito
Prova de pré-requisito PHP & MySQL: Técnicas para Web 2.0 1 - Qual das opções constrói a tabela abaixo: DIA MÊS ANO 28 04 1988 22 02 2002 a) b) c) dia mês ano
Leia maisComputaçã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 maisINTRODUÇÃ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
Leia maisAJAX JSON JQUERY. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)
AJAX JSON JQUERY Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) QUAL O OBJETIVO DESTAS TECNOLOGIAS? AJAX AJAX = Asynchronous Javascript and XML Não é uma nova linguagem de programação, apenas uma nova
Leia maisComputaçã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 maisIntrodução à Tecnologia Web 2010 HTML HyperText Markup Language XHTML extensible HyperText Markup Language Elementos da Seção do Cabeçalho
IntroduçãoàTecnologiaWeb2010 HTML HyperTextMarkupLanguage XHTML extensiblehypertextmarkuplanguage ElementosdaSeçãodoCabeçalho ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br ProfªMSc.ElizabeteMunzlinger
Leia maisinsfcanceof new public switch transient while byte continue extends for int null
Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public
Leia maisProgramando 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 maisPara o envio de e-mails pelo PHP é necessário seguir a seguinte sintaxe:
28 Aula 3 Envio de e-mails Para o envio de e-mails pelo PHP é necessário seguir a seguinte sintaxe: Onde: bool mail ( string $to, string $subject, string $message [, string $additional_headers [, string
Leia maisCriando e consumindo Web service REST com PHP e JSON. Palestrante: Weiberlan Garcia
Criando e consumindo Web service REST com PHP e JSON Palestrante: Weiberlan Garcia Weiberlan Garcia Consultor de Software Livre, trabalha na empresa Ambiente Livre Tecnologia. Desempenha funções de análise,
Leia maisAtividade JSP com Banco de Dados
Instituto Federal de Santa Catarina - Campus Chapecó Engenharia de Controle e Automação Programação II Professor: Bruno Crestani Calegaro Atividade JSP com Banco de Dados Objetivos Elaborar um projeto
Leia maisIntroduçã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
Leia maisCriação Pagina PHP & MySQL
Criação Pagina PHP & MySQL PHP & Mysql Desde já informo que a seguir criaremos uma simples página em PHP, de modo estruturado, apenas como exemplo de : inserção, edição e exclusão de dados no banco mysql,
Leia maisIntroduçã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
Leia maisJavaScript Eventos e Objetos Nativos
JavaScript Eventos e Objetos Nativos Ferramentas para Internet Marx Gomes Van der Linden ( Material baseado no original de Marcelo José Siqueira Coutinho de Almeida ) Eventos Um evento é um acontecimento
Leia maisAjax Asynchronous JavaScript and Xml
Ajax Asynchronous JavaScript and Xml Ajax permite construir aplicações Web mais interativas, responsivas, e fáceis de usar que aplicações Web tradicionais. Numa aplicação Web tradicional quando se prime
Leia maisO código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.
1 - O que é JAVASCRIPT? É uma linguagem de script orientada a objetos, usada para aumentar a interatividade de páginas Web. O JavaScript foi introduzido pela Netscape em seu navegador 2.0 e posteriormente
Leia maisComeçando com Zend Framework
Começando com Zend Framework Versão brasileira da apresentação disponível em http://www.slideshare.net/baohx2000/zend-framework-19-setup-using-zendtool Ou: Como eu aprendi a parar de me preocupar e amei
Leia maisCurso Adonai QUESTÕES Disciplina Linguagem JAVA
1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String
Leia maisDesenvolvimento OO com Java Orientação a objetos básica
Desenvolvimento OO com Java Orientação a objetos básica Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal
Leia maisEstruturas de Controle em PHP
Linguagem de Programação III Estruturas de Controle em PHP Estruturas de Controle em PHP - Comandos condicionais - if - switch - Comandos de repetição - while - do...while - for - foreach Estruturas de
Leia maisCapítulo 9 - Imagens. Imagens
Capítulo 9 - Imagens 9 Imagens EM JAVASCRIPT, É POSSÍVEL MANIPULAR COM AS IMAGENS DE UMA PÁGINA, alterando a URL que localiza o arquivo de imagem. Assim, pode-se trocar a imagem que está sendo exibida
Leia maisConstruindo um Jogo para a Web - Tetris
Construindo um Jogo para a Web - Tetris Programação para a Internet Prof. Vilson Heck Junior Tecnologias Necessárias Tecnologias já Estudadas: HTML; CSS; JavaScript; Tecnologias Novas: Computação Gráfica
Leia maisFlash MX ActionScript
Flash Programação MX ActionScript Multimédia Flash MX ActionScript Pedro Costa / 2004 Introdução Neste momento, o ActionScript é provavelmente a ferramenta mais poderosa integrada no Flash. Esta linguagem
Leia maisProgramação para web JavaScript
Programação para web JavaScript Professor: Harlley Lima E-mail: harlley@decom.cefetmg.br Departamento de Computação Centro Federal de Educação Tecnológica de Minas Gerais Belo Horizonte, 4 de maio 2016
Leia maisObjetivos do mini curso. Conhecer a linguagem. Noção de programação utilizando Python. Aprender o báscio.
Objetivos do mini curso Conhecer a linguagem. Noção de programação utilizando Python. Aprender o báscio. Conteúdo Uma visão da linguagem: O modo python de programar O interpretador dinâmico Salvando e
Leia maisARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto
Leia maisIntMu.Lab5. Importe os ficheiros disponibilizados em
IntMu.Lab5 0. Importe os ficheiros disponibilizados em http://www.dee.isep.ipp.pt/~jml/intmu/lab5: wget http://www.dee.isep.ipp.pt/~jml/intmu/lab5/makefile make getall Analise detalhadamente o programa
Leia maisProgramação WEB I BOM (Browser Object Manager)
Programação WEB I BOM (Browser Object Manager) Objetos Window Métodos já conhecidos: Window.alert( Texto ); Window.prompt( Digite algo, ); Window.confirm( Deseja mesmo fazer isso ); Window Abrir uma Janela
Leia maisLinguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador
Linguagem C Tipos de Dados void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador Funções void void pode ser usado em lugar de um tipo, para indicar a ausência de valor
Leia maisCapítulo 4. Programação em ASP
Índice: CAPÍTULO 4. PROGRAMAÇÃO EM ASP...2 4.1 REGISTRAR...2 4.1.1 Códigos para configuração do objeto...2 4.1.2 Formulário para transferir dados da impressão digital...3 4.1.3 Código Javascript para registro
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 maisUm objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo;
um objeto; é definido; Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo; class ClasseBase{ é instanciado; $objetobase = new ClasseBase; Caso queira,
Leia maisQUITETURA AVANÇADA DE SISTEMAS
QUITETURA AVANÇADA DE SISTEMAS ICARDO MENDÃO SILVA RMSILVA AT UAL DOT PT MARÇO 2015 AAS OUTLINE INTRODUÇÃO COMENTÁRIOS VARIÁVEIS OPERADORES IF STATEMENT FUNÇÕES CICLO FOR CICLO WHILE STRINGS LISTAS TUPLAS
Leia maisCollections. Objecto Collection. Propriedades e métodos
Collections Objecto Collection Conjunto ordenado de objectos não necessariamente do mesmo tipo Declarar um novo objecto: Dim col As New Collection Propriedades e métodos collection.count: número total
Leia maisProgramaçã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. 02 Fundamentos de Linguagens Sumário : Linguagem, alfabeto e gramática
Leia maisO programa abaixo exemplifica o uso da classe Image para carregar e mostrar uma imagem localizada em um arquivo.
7. Carregando e mostrando imagens locais Esta aula complementa os estudos de programação de interfaces gráficas em Java mostrando como podemos carregar imagens de arquivos locais ou da Internet para uso
Leia maisCurso Distribuido Gratuitamente Por: www.e-book-gratuito.blogspot.com Entre em nosso Site para mais Cursos e Apostilas Grátis!
Curso Distribuido Gratuitamente Por: www.e-book-gratuito.blogspot.com Entre em nosso Site para mais Cursos e Apostilas Grátis! www.baixebr.blogspot.com Curso Distribuido Gratuitamente Por: www.e-book-gratuito.blogspot.com
Leia maisProgramação com Posix Threads
9 Programação com Posix Threads Revisão: Data: 11-03-2016 Cap. 9 1/6 Programação multi-threaded com Pthreads 9.1. O que é uma thread? Um processo represente a execução pelo sistema operativo dum programa.
Leia maisLista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.
Lista de Revisão 1. Nos sistemas web, geralmente os usuários apresentam dois problemas típicos, a desorientação e a sobrecarga cognitiva. Discorra sobre esses problemas. 2. Apresente as principais diferenças
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 maisIntrodução a Computação
Introdução a Computação Aula 02 Introdução a Linguagem C Edirlei Soares de Lima Lógica de Programação Lógica de Programação é a técnica de criar sequências lógicas de ações para
Leia maisInstalação/ Operacionalização
Cobrança Site (Segunda via do Bloqueto Digital) Instalação/ Operacionalização Manual do Desenvolvedor Windows NT 4.0 ou Superior Listagem de títulos Método geracripto pesquisa bloqueto 20/02/2008 ÍNDICE
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível.
Caso de estudo O cartão fidelidade Cartão de fidelização de clientes das distribuidoras de combustível. Definição em JAVA da classe CartaoFidelidade, que deverá apresentar uma funcionalidade semelhante
Leia maisPÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 06: Introdução Linguagem HTML
PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 06: Introdução Linguagem HTML O Desenvolvimento Web O desenvolvimento web é o termo utilizado para descrever atividade relacionada
Leia maisDESENVOLVIMENTO DE SOFTWARE
VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.
Leia maisTecnologias para Web Design
Tecnologias para Javascript e DOM Introdução à Scripts Um script do lado cliente é um programa que acompanha um documento HTML Pode estar incluído no próprio documento embutido ou acompanha-lo num arquivo
Leia maisMini Curso DESCOMPLICANDO C# Professor Hélio
Mini Curso DESCOMPLICANDO C# Professor Hélio Requisitos Para o Curso Não é necessário conhecimentos prévios em programação Matemática Básica Nível básico de operador Bom senso Objetivos do Curso Esse curso
Leia maisESPECIFICAÇÕES FORMATOS DIGITAIS JORNAIS GRUPO RBS
ESPECIFICAÇÕES FORMATOS DIGITAIS 1. Retângulo médio 2. Super banner 3. Super banner expansível 4. Megabanner 5. Selo duplo 6. Selos de patrocínio 7. Billboard (padrão IAB ZH e clicrbs) 8. Interstitial
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados
Leia mais