|
74 | 74 |
|
75 | 75 | \begin{abstract} |
76 | 76 | \noindent |
77 | | - {\color{red} TODO - Humberto} |
| 77 | + Nesta fase do trabalho prático, continuou-se o desenvolvimento dos programas \texttt{engine} e |
| 78 | + \texttt{generator}. Em particular, na \texttt{engine}, foram implementadas a leitura de texturas |
| 79 | + e a iluminação da cena. É lógico que estas funcionalidades exigiram alterações à estrutura de |
| 80 | + armazenamento de modelos em VBOs, ao formato XML da cena, e a criação de novos \emph{shaders}, |
| 81 | + para implementação dos modelos de iluminação e de \emph{shading} de Phong. Adicionalmente, |
| 82 | + também foi implementado \emph{object picking} e geração automática de normais, para modelos que |
| 83 | + não têm essa informação. Do lado do \texttt{generator}, foi necessário implementar a geração de |
| 84 | + normais e coordenadas de textura para as figuras, bem como atualizar a geração do Sistema Solar, |
| 85 | + para adicionar informação de texturas e iluminação. Em suma, apesar de se considerar que o |
| 86 | + trabalho desenvolvido foi além do era pedido pelo enunciado, visto que foram utilizados |
| 87 | + \emph{shaders}, haveria muitas possibilidades de melhorar o trabalho para hipotéticas fases |
| 88 | + futuras (\emph{instanced rendering}, \emph{normal maps}, sombras, tesselação, \emph{etc.}). |
78 | 89 | \end{abstract} |
79 | 90 |
|
80 | 91 | \section{\emph{Generator}} |
@@ -579,7 +590,34 @@ \section{Resultados Obtidos} |
579 | 590 |
|
580 | 591 | \section{Conclusão} |
581 | 592 |
|
582 | | -{\color{red} TODO - Humberto} |
| 593 | +Em suma, considera-se que a quarta fase do trabalho prático foi concluída com sucesso. Apesar desta |
| 594 | +fase ter sido a mais exigente, requirindo alterações a diversas partes da \texttt{engine} e do |
| 595 | +\texttt{generator}, o nosso grupo foi capaz de utilizar todo o conhecimento que tem vindo a adquirir |
| 596 | +ao longo do último semestre para implementar todas as funcionalidades pedidas, e ainda algumas |
| 597 | +adicionais! Também foi uma grande ajuda a reestruturação arquitetural do código feita na 3.ª fase, |
| 598 | +que tornou mais simples a adição de novas funcionalidades. |
| 599 | + |
| 600 | +As maiores dificuldades sentidas nesta fase deram-se no \texttt{generator}, no que toca à adição de |
| 601 | +coordenadas de texturas e normais, tendo sido difícil garantir que todas as figuras tinham um aspeto |
| 602 | +correto, e descobrir a origem dos erros que se iam encontrado: coordenadas de texturas erradas |
| 603 | +\emph{vs.} distorção natural inevitável, ou normais erradas \emph{vs.} implementação incorreta da |
| 604 | +iluminação. |
| 605 | + |
| 606 | +Em relação às funcionalidades previstas na 3.ª fase, \emph{object picking} foi implementado, mas não |
| 607 | +houve tempo para implementar \emph{instanced rendering}. No entanto, para as cenas desenvolvidas, a |
| 608 | +falta desta funcionalidade não se provou um problema, visto que o elemento do grupo com a placa |
| 609 | +gráfica menos capaz (Intel HD Graphics 630), conseguia correr à taxa de atualização do seu ecrã |
| 610 | +(60Hz) a cena mais complexa, o Sistema Solar, que pode exigir milhares de \emph{draw calls}. |
| 611 | + |
| 612 | +Conclui-se este trabalho com grande satisfação em relação ao resultado final, que se considera |
| 613 | +cumprir as funcionalidades pedidas pelo enunciado, bem como implementar muitas outras. No entanto, |
| 614 | +um possível ponto que poderia ser melhorado seria o subsistema de câmaras, que tem em |
| 615 | +falta aceleração e desaceleração suaves quando perante \emph{input} do utilizador. Apesar desta ser |
| 616 | +a última fase do trabalho prático, há muitas funcionalidades que poderiam ser implementadas caso |
| 617 | +houvesse tempo para tal em hipotéticas futuras fases, desde aspetos simples como uma \emph{skybox} e |
| 618 | +LODs, como outros mais complexas apenas possíveis por se ter arquiteturado o projeto para usar |
| 619 | +\emph{shaders}, como sombras, reflexões, \emph{normals maps}, tesselação, \emph{physically based |
| 620 | +rendering}, \emph{etc.}. |
583 | 621 |
|
584 | 622 | \begingroup |
585 | 623 | \section{Bibliografia} |
|
0 commit comments