Place to do random C.G. things and hopefully make tutorials out of them.
Esse é o meu trabalho final da disciplina de Computação Gráfica. A disciplina é parte do curso de Ciência da Computação na UFRJ (Universidade Federal do Rio de Janeiro), e foi ministrado pelo professor Paulo Roma, no primeiro semestre de 2019.
A descrição do trabalho está na página do professor, especificamente o item 6:
Estou fazendo toda a parte documental em português primeiro, e o código em inglês. Mais pra frente vou atualizar a parte da documentação em inglês.
Esse trabalho foi feito em forma de linha de tempo. Isso quer dizer que cada item da sequência é baseado no item anterior, então a qualidade do código em geral vai melhorando a medida que avançamos nos exemplos.
Pretendo melhorar o código de cada passo com o tempo, e talvez transformar isso numa forma de tutorial. Eu queria que cada exemplo tivesse no HTML somente o código pertinente ao exemplo, e mover outras dependências para um arquivo JS externo… mas por enquanto não está assim, todo o código está dentro de cada HTML.
No primeiro dia foi tudo bem simples. O THREE JS cuida de vários aspectos para o programador, que não tem que lidar com shaders, nem com a complexidade de carregar as faces na ordem correta.
Também é bem símples lidar com iluminação, cores dos objetos, e renderização em vários formatos: iluminado, aramado, entre outros.
No segundo dia, tive que lidar com as complexidades de mapear texturas. O principal problema é mapear texturas em superfícies que não possuem um mapeamento linear para as coordenadas de textura chamadas de UV.
Veja mais: Relatório sobre texturização do cilindro
Uma das coisas que fazem falta é poder controlar manualmente os objetos na tela. Portanto, no terceiro dia vou adicionar controles usando o teclado e mouse.
Além disso vou adicionar botões e caixas para poder configurar a figura na tela, permitir visualizar as várias formas de renderização, alterar texturas, cores e outras características.