Curso de WebGL
LCG/UFRJ
DCC/IM

Acessos a esta página desde 15/10/2015: Page Visit Counter

Índice


Por que Implementar em WebGL

Neste curso, serão ensinadas as técnicas para desenvolvimento de aplicações gráficas tri-dimensionais, interativas, usando WebGL. Desta forma, é possível embutí-las em páginas HTML, que poderão ser interpretadas por qualquer navegador (Web browser) moderno. WebGL (Web Graphics Library) é uma API JavaScript para exibição interativa de gráficos 2D e 3D dentro de qualquer navegador compatível e sem o uso de plug-ins. WebGL está completamente integrado em todos os padrões de navegadores, permitindo o uso da aceleração em GPU, para desenhar em um canvas de uma página Web, para aplicação em simulações físicas, processamento de imagens, jogos e efeitos gráficos em geral.

Os elementos de WebGL podem ser combinados com outros elementos HTML e compostos com diferentes partes da página Web ou do seu fundo. Programas WebGL consistem de código escrito em JavaScript e código para shader, que é executado em uma Unidade de Processamento Gráfico (GPU). WebGL foi projetado e é mantido pelo grupo, sem fins lucrativos, Khronos.


Módulos Disponíveis

O curso está dividido em dez módulos, podendo ser estendido, caso haja uma maior disponibilidade de tempo. Os módulos estão disponíveis no formato .pdf.


JavaScript

JavaScript é uma linguagem de programação de alto nível, dinâmica, não tipada, e interpretada. Juntamente com HTML e CSS, é uma das três tecnologias essenciais para a produção de conteúdo para a World Wide Web; a vasta maioria dos websites a emprega e ela é suportada por todos os browsers modernos sem o uso de plug-ins.

JavaScript é prototipada com funções de primeira classe, tornando-a uma linguagem multi-paradigma, que suporta os estilos de programação orientado a objeto, imperativo, ou funcional. Sua API permite utilizar textos, arrays, datas e expressões regulares, mas não inclui qualquer tipo de I/O, mecanismos de rede, armazenamento ou facilidades gráficas, contando para isso com o ambiente de programação na qual está mergulhada.


Links Úteis

threejs
Getting Started with three.js
Learning Three.js or WebGL for Dummies
Mr. doob

Check WebGL Support
WebGL Fundamentals
Learning WebGL
glMatrix

Coursera
CodePen
Humus Textures
TurboSquid

JavaScript Tutorial
JavaScript Coder
JavaScript Brasil
Animating with javascript

Angel's Book Code (7th edition)
Tony Parisi's WebGL Book Code
Build New Games

Anton's OpenGL 4 Tutorials
OpenGl Guide
LCG - Introdução à Computação Gráfica
Transforming Normals
Cube Maps: Sky Boxes and Environment Mapping
Skybox and Reflection

unity (Windows and Mac)
MonoGame (Windows, Ubuntu, and Mac)
UnReal (Windows and Mac)

Interactive Computer Graphics - Library
Teal Book (WebGL Programming Guide) - Library
Videos


Exemplos

Por tópicos:


Laboratórios

Todos os programas foram escritos em ambiente Fedora 22 e Mac OS El Capitan.


Livros


Instalação

Tudo o que é necessário é um browser moderno: Safari, Firefox, Chrome ou IE.


Hardware para Desenvolvimento

Na prática, não é necessário nenhum hardware específico:


Pré-requisitos para Assistir o Curso


Turmas do Prof. Paulo Roma

Para aqueles matriculados no curso de Computação Gráfica I (MAB122) ou Tópicos Especiais em Computação Gráfica (MAB604), por favor inscrevam-se no curso: MAB122, MAB604.

As notas podem ser consultadas aqui:
Login (MAB122), Login (MAB604)

A sala de aula é o LCG.