Código |
15634
|
Ano |
1
|
Semestre |
S1
|
Créditos ECTS |
6
|
Carga Horária |
PL(30H)/T(30H)
|
Área Científica |
Informática
|
Objectivos de Aprendizagem |
Objetivos gerais Dotar os alunos: - de uma visão abrangente da computação gráfica, da computação interativa e da visualização de informação; - com competências relativamente à programação gráfica de "shaders"; - com competências relativamente aos modelos de computação paralela em GPU; - com métodos e técnicas de representação visual que aumentam a compreensão de dados complexos.
Objetivos de aprendizagem O estudante deve: - Ser capaz de reprogramar o sistema gráfico através de “shaders” (e.g., "geometry shader"); - Ser capaz de desenhar e desenvolver um “compute shader” para executar tarefas de computação de propósito geral em paralelo; - Ser capaz de desenhar e desenvolver um algoritmo numérico em GPU; - Ser capaz de desenhar e desenvolver uma aplicação de visualização científica que tire partido de “shader programming” e/ou CUDA “programming”.
|
Conteúdos programáticos |
Parte I: OpenGL Moderno e Programação em GLSL 01. Fundamentos de programação gráfica em GLSL. 02. Tópicos sobre "Vertex shaders" e "fragment shaders". 03. Tópicos sobre "geometry shaders" e "tessellation shaders". 04. Tópicos sobre "compute shaders". 05. Tópicos sobre "ray casting" e "ray tracing".
Parte II: Visualização de Dados 06. Campos escalares ("scalar fields"). 07. Renderização de volumes ("volume rendering"). 08. Campos vetoriais ("vector fields"). 09. Campos tensoriais ("tensor fields"). 10. Análise de dados topológicos ("topological data analysis").
|
Metodologias de Ensino e Critérios de Avaliação |
Para que o estudante possa adquirir as competências exigidas, estão previstas: - aulas teóricas (T) sobre conceitos teóricos, métodos e algoritmos, utilizando-se para isso a projeção de transparências, a escrita no quadro e a discussão de ideias; - aulas prático-laboratoriais (PL), nas quais o estudante aplicará e testará os conceitos, as estruturas de dados e os algoritmos introduzidos nas aulas T através da resolução de exercícios que constam em fichas criadas para o efeito; - tutorias para o esclarecimento de dúvidas e resolução de problemas, bem como para apoio na feitura dos projetos individuais e de grupo dos alunos.
|
Bibliografia principal |
- Graham Sellers, Richard Wright, and Nicolas Haemel. OpenGL SuperBible: Comprehensive Tutorial and Reference (6th Edition). Addison-Wesley Professional, 2013. - David Wolff. OpenGL 4 Shading Language Cookbook (2nd Edition). Packt Publishing, 2013. - Shane Cook. CUDA Programming: A Developer's Guide to Parallel Computing with GPUs. Morgan Kaufmann, 2013. - J. Foley, A. van Dam, S. Feiner, J. Hughes. Computer Graphics: Principles and Practice (2nd edition in C). Addison-Wesley Publ. Company, 1996. - Abel J. P. Gomes, Irina Voiculescu, Joaquim Jorge, Brian Wyvill and Callum Galbraith. Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms. Springer-Verlag, 2009. - Jason Sanders and Edward Kandrot. CUDA by Example: An Introduction to General-Purpose GPU Programming. Addison-Wesley Professional, 2011. - Tomas Akenine-Moeller, Eric Haines, and Natty Hoffman. Real-Time Rendering (3rd. ed.). AK Peters, 2008.
|
Língua |
Português
|