Ano: 2005/2006 - Semestre: 1 Cursos: LESI e LMCCMétodo de Avaliação
60% avaliação prática (um trabalho em duas etapas no decurso do semestre)
40% exame teórico essencialmente sobre shaders
Nota minima a qualquer das partes: 9 valores.
Exame modelo Zip
A componente prática desta disciplina será avaliada sob a forma de um trabalho em duas etapas. Os alunos devem formar grupos de 2 ou 3 elementos.
O trabalho prático será
avaliado de forma contínua, encontrando-se dividido em duas
etapas. Cada etapa corresponde a uma fase de desenvolvimento do projecto. Para cada etapa deve ser produzido um relatório escrito segundo as indicações
fornecidas. Para cada etapa existe umadata limite para a sua
entrega. A apresentação e defesa dos trabalhos ocorrerá em data a anunciar, posterior � s entregas. Na discussão do trabalho devem comparecer todos os elementos do grupo para discutir o trabalho oralmente.
Note-se no entanto que não existe uma avaliação individual
por etapa, sendo a avaliação realizada sobre o trabalho no seu
todo, ou seja, no conjunto das duas etapas.
Para cada etapa é necessário entregar o seguinte material:
- um relatório impresso e
encadernado;
- um CD contendo o relatório,
código fonte e executável.
Na primeira etapa admite-se
a utilização de excerptos de código disponível na
internet. A segunda fase deve obrigatóriamente ser da autoria exclusiva
do grupo. Nos relatórios só no caso especifico das figuras é
que se permite que estas não sejam originais.
Caso a primeira etapa não seja entregue
até � data limite anunciada, o grupo pode entregar essa mesma
etapa até � data limite da segunda etapa com uma penalização
de 15% sobre a nota final do trabalho. O mesmo se aplica caso uma etapa tenha
de ser submetido de novo por ser considerada insuficiente. Após essa data, o trabalho não será
aceite correspondendo � não avaliação do grupo na
disciplina. Asegunda fase não tem tolerância, devendo ser
entregue até � respectiva data limite.
A avaliação terá
em conta os seguintes critérios:
- Qualidade do trabalho
- Qualidade
do relatório escrito
- Empenho dos alunos na discussão
oral
A ordem dos factores apresentados
acima não implica uma relação de importância entre
os mesmos. Os alunos de um mesmo grupo poderão ter notas diferenciadas
consonante o seu desempenho na discussão oral do trabalho.
Template para relatório da
etapa 1 (tempRel1.zip)
Template para relatório da
etapa 2 (tempRel2.zip)
Trabalhos Práticos Etapa 1 - Model Loader ::
Data Limite para entrega - 25 de Novembro
Desenvolver uma aplicação
que permita carregar e visualizar modelos gráficos a partir de ficheiros
de gráficos segundo o formato OBJ, MAX ou Maya (um dos formatos,
� escolha do grupo). A aplicação deve ainda, através
da consola, fornecer informação sobre o número total de
vértices e polígonos dos modelos carregados.
A aplicação deve ser
invocada a partir da linha de comando, com um parâmetro que representa
o nome de um ficheiro de configuração. O ficheiro de configuração
determinará não só quais os ficheiros onde se encontram
os modelos gráficos a carregar, mas também a sua distribuição
espacial e escala a aplicar aos modelos.
No ficheiro de configuração,
cada linha indicde gráficos e a respectiva translação, rotação
e escala. A ausência da informação relativa � translação
e escala implica utilizar uma translação (0,0,0), uma rotação de 0 graus, e uma escala
(1,1,1). O formato para cada linha é o seguinte:
nome do ficheiro tx ty tz ang rx ry rz ex ey
ez
por exemplo:
porsche.obj 10 10 0 45.0 0.0 1.0 0.0 0.1 0.1 0.1
o que corresponde a carregar o ficheiro
porsche.obj, e aplicar ao modelo a translação (10,10,0), uma rotação de 45 graus em torno do eixo dos Y e a escala
(0.1,0.1,0.1).
O código para leitura e interpretação
dos ficheiros pode ser obtido na Internet.
Etapa 2 - Octrees com View
Frustum Culling :: Data Limite para entrega - 9 de Janeiro
Esta etapa tem como ponto de partida
a aplicação desenvolvida na etapa anterior. Uma das técnicas
mais simples de optimização consiste em determinar � priori
quais os polígonos que são visiveis a partir da câmara,
ou seja que se encontram dentro do volume de visualização, e não
enviar polígonos não visiveis para a placa gráfica. Esta
técnicaé geralmente utilizada em conjunto com octrees (arvores
octais que permitem uma fácil partição espacial) por forma
a permitir eliminar um número significativo de polígonos com um
número reduzido de testes. Desta forma as células da octree são
testadas recursivamente para determinar a sua visibilidade e só os polígonos
dentro de células visiveis são enviadas � placa gráfica.
Pretende-se assim que os modelos
previamente carregados sejam inseridos numa octree, ou árvore octal.
Durante a visualização, a aplicação deve realizar
view frustum culling.
Factores de valorização:
Utilização de Vertex Buffer Object. Análise comparativa de desempenho relativamente � s opções de construção da Octree e utilização de VFC
|