terça-feira, 25 de outubro de 2011

Aulas 6 e 7.

Na aula passada, aula #06, não foi passado nenhum exercício, ficamos livres para testar o framework e suas mais novas adições (como a skybox e a física que foi adicionada durante a aula).

Já a aula número 7 foi uma revisão geral do framework, e como tarefa deveríamos fazer alguma coisa que utilizasse várias funcionalidades da ferramenta. Escolhi transformar o exemplo de Pong 2D usado como caso de estudo durante a aula para uma versão 3D. Além da inteligência artificial dos dois jogadores, é possível controlar o jogador vermelho nos dois eixos. O resultado pode ser visto abaixo:



E agora o "Sky-Pong 3D" (adicionando uma skybox):

quinta-feira, 13 de outubro de 2011

Exercício da aula 5.

Com novas adições no framework, nossa tarefa para a quinta aula era criar alguma aplicação utilizando as novas ferramentas (como Entity e Billboard). Aqui está uma screenshot da aplicação de teste que eu criei: várias vacas (de um .obj que eu encontrei) usando 2 texturas diferentes de ouro. Fiz uma fila de vacas de ouro rotacionadas =)

quarta-feira, 5 de outubro de 2011

Exercício da aula 4.

Na quarta aula foi disponibilizado um framework maior para trabalharmos com OpenGL e desenvolvermos o projeto final. Como exercício dessa aula, foi pedido que fizéssemos uma aplicação utilizando o novo framework, para nos familiarizar, identificar problemas ou novas ferramentas necessárias.

A aplicação que criei é bem simples, são apenas 4 bolas conectadas numa hierarquia com scene graph onde é possível modificar a partir de qual ponto da hierarquia se quer movimentá-las (semelhante ao exemplo de braço e antebraço), e o eixo de rotação das bolas.

O código completo e o release pode ser baixado em http://www.inf.ufsc.br/~mauricio/.data3d/Aula4.rar

segunda-feira, 3 de outubro de 2011

Screenshots do exercício 3.

Conforme pedido pelo professor, estou adicionado algumas screenshots do exercício da terceira aula.



sexta-feira, 30 de setembro de 2011

Exercício da aula 3.

Na terceira aula tivemos uma visão geral de OpenGL e fizemos algumas demonstrações básicas, além de começar a montar um framework para ser utilizado em nosso projeto.

Como exercício, apenas tínhamos que criar alguma aplicação bem simples, para ver se estávamos conseguindo entender as ideias básicas do OpenGL e a utilização das classes que já temos disponíveis. Partindo do projeto base passado pelo professor, acrescentei 2 cenas diferentes. Uma mais simples, com um sorvete sendo desenhando e com a possibilidade de adição de mais bolas de sorvete, e uma outra cena em que é possível mudar os sabores das bolas.

O código completo pode ser baixado em http://www.inf.ufsc.br/~mauricio/.data3d/Aula3.rar

quarta-feira, 21 de setembro de 2011

Exercício da aula 2.

O exercício da segunda aula ainda era sobre conceitos básicos de C++. Dessa vez era transformar 2 estruturas usadas em sala para que herdem de uma classe de estrutura de dados genérica e criar as funções de cópia para essas duas classes (Array e Lista Encadeada).

Coloquei o código em http://www.inf.ufsc.br/~mauricio/.data3d/Aula2.rar

quarta-feira, 14 de setembro de 2011

Exercício da aula 1.

O exercício da primeira aula era bem simples, fazer um método resize() para uma implementação de Array disponibilizada pelo professor.

int Array::resize(unsigned novoTamanho) {
int numValDescartados = 0;

int* novoArray = new int[novoTamanho];


if (novoTamanho < _tamanho) {
numValDescartados = _tamanho - novoTamanho;
memcpy(novoArray,_dados,sizeof(int) * novoTamanho);
}
else {
memcpy(novoArray,_dados,sizeof(int) * _tamanho);
}

delete[](_dados);

_tamanho = novoTamanho;
_dados = novoArray;


return numValDescartados;
}



E a saída gerada foi com essa implementação foi: 

(5)[ 0 1 2 3 4 ]
resize(4) = 1
(4)[ 0 1 2 3 ]
resize(6) = 0
(6)[0 1 2 3 4 0 ]
0 2 4 6 8 10