Disciplina
Computação Gráfica para Jogos
Área
Área Científica de Interação e Gráficos > Visualização Gráfica
Activa nos planos curriculares
MEIC-A 2021 > MEIC-A 2021 > 2º Ciclo > Area Principal > Agrupamentos > Jogos > Computação Gráfica para Jogos
MEIC-T 2018 > MEIC-T 2018 > 2º Ciclo > Agrupamentos > Jogos > Computação Gráfica para Jogos
MEIC-T 2021 > MEIC-T 2021 > 2º Ciclo > Área Principal > Agrupamentos > Jogos > Computação Gráfica para Jogos
MEIC-T 2015 > MEIC-T 2015 > 2º Ciclo > Agrupamentos > Jogos > Computação Gráfica para Jogos
MEIC-A 2015 > MEIC-A 2015 > 2º Ciclo > Agrupamentos > Jogos > Computação Gráfica para Jogos
Nível
A avaliação consiste em dois projetos: um projeto individual que cria a arquitetura base do motor gráfico e um projeto em equipa que explora a programação de shaders. Não há exame escrito.
Tipo
Não Estruturante
Regime
Semestral
Carga Horária
1º Semestre
2.0 h/semana
1.5 h/semana
119.0 h/semestre
Objectivos
Aprender e por em prática conceitos importantes de motores modernos de jogos. Contruir um motor gráfico moderno em C++ / OpenGL moderno usando renderização com base fìsica em tempo real.
Programa
1. Espaço homogéneo de transformações e quaterniões 2. Shaders, pipeline de renderização e pipeline de visualização 3. Modelação e animação: malhas, buffers e grafos de cenas 4. Iluminação direta: cel shading e modelo de Blinn-Phong 5. Mapeamento de texturas de múltiplas dimensões, filtragem e ruído procedimental 6. Mapeamento de normais, de deslocamento, e de ambiente 7. Renderização com base física em tempo real e oclusão de ambiente
Metodologia de avaliação
A avaliação consiste em dois projetos: um projeto individual que cria a arquitetura base do motor gráfico e um projeto em equipa que explora a programação de shaders. Não há exame escrito.
Pré-requisitos
Experiência prévia com programação recomendada, em particular com C++ (ou linguagens semelhantes ao C) e programação por objetos. Experiência com programação de shaders não é indispensável.
Componente Laboratorial
Os alunos desenvolvem gradualmente um motor gráfico, e são regularmente avaliados com base num conjunto de metas prédefinidas, assim como recebem feedback relativamente ao seu progresso.
Princípios Éticos
Todos os membros de um grupo são responsáveis pelo trabalho do grupo. Em qualquer avaliação, todo aluno deve divulgar honestamente qualquer ajuda recebida e fontes usadas. Numa avaliação oral, todo aluno deverá ser capaz de apresentar e responder a perguntas sobre toda a avaliação.
Componente de Programação e Computação
A componente de programação é uma componente fundamental da avaliação. A avaliação será baseada no desenvolvimento individual e em equipa de uma aplicação em tempo real em C++ / OpenGL, o que inclui a programação de shaders executados na GPU (Graphical Processing Unit).
Componente de Competências Transversais
O curso desenvolve as seguintes competências transversais, de acordo com o definido pela comissão de competências transversais: Pensamento crítico e inovador (resolução de problemas, pensamento estratégico, criatividade); Competências intrapessoais (produtividade e gestão de tempo, proatividade e iniciativa, motivação intrínseca, tomada de decisão); Competências interpessoais (comunicação oral, comunicação escrita, trabalho em equipa, liderança); Cidadania global (trabalho em equipas com diversidade cultural); Literacia de informação e dos media (uso de múltiplas ferramentas multimedia, pesquisa de informação, estruturação de informação).
Bibliografia
Principal
“Game Engine Architecture” (3rd edition)
Real-Time Rendering (4th edition)
Tomas Akenine-Möller, Eric Haines, Naty Hoffman
OpenGL Programming Guide (9th edition)
John Kessenich, Graham Sellers, Dave Shreiner
Programming: Principles and Practice using C++ (2nd edition)