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
sexta-feira, 30 de setembro de 2011
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
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;
}
(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
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:
resize(4) = 1
(4)[ 0 1 2 3 ]
resize(6) = 0
(6)[0 1 2 3 4 0 ]
0 2 4 6 8 10
Game Programming 3D
Opa, voltando a postar.
O curso de Game Programming Full tinha sido interrompido no final do ano passado, pois só tinham sobrado 2 alunos (eu e mais 1) e não dava pra iniciar a parte 3D desse jeito. Então a gente esperou a próxima turma concluir a parte inicial e juntamos as turmas.
Parece que dessa vez o blog vai ter que ser mais utilizado, então vou começar a postar os exercícios aqui toda semana. Daqui a pouco já coloco o primeiro.
Até mais.
O curso de Game Programming Full tinha sido interrompido no final do ano passado, pois só tinham sobrado 2 alunos (eu e mais 1) e não dava pra iniciar a parte 3D desse jeito. Então a gente esperou a próxima turma concluir a parte inicial e juntamos as turmas.
Parece que dessa vez o blog vai ter que ser mais utilizado, então vou começar a postar os exercícios aqui toda semana. Daqui a pouco já coloco o primeiro.
Até mais.
Assinar:
Postagens (Atom)