Disciplina

Á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)

Jason Gregory

2018

A K Peters / CRC Press


Real-Time Rendering (4th edition)

Tomas Akenine-Möller, Eric Haines, Naty Hoffman

2018

A K Peters/CRC Press


OpenGL Programming Guide (9th edition)

John Kessenich, Graham Sellers, Dave Shreiner

2016

Addison-Wesley Professional


Programming: Principles and Practice using C++ (2nd edition)

Bjarne Stroustrup

2014

Addison-Wesley Professional