Computer Graphics
2024/2025, 1st Semester, Fall
14350 - Engenharia Informática
Professor Abel J.P. Gomes
Department of Computer Science, University of Beira Interior
Caminho do Biribau, 6201-060 Covilhã, Portugal
E-mail: ajpgomes(at)ubi.pt or mosqueteer(at)gmail.com
Lithography by Edward Hopper (on the right-hand side)
Goals and Objectives
The general objectives of this course unit are:Regarding the specific objectives of this course unit, after the learning process, students should be able at least to:
- Provide students with programming and rapid prototyping skills of 2D and 3D graphics applications based on a graphic system (e.g., modern OpenGL) and a window system.
- Provide students with the basic skills in programming and geometric modeling of synthetic scenes on computer.
- Provide the students with the essential skills in the generation of images of synthetic scenes in computer, which requires the understanding of the phenomena and interactions between light and the environment that lead to the formation of color.
- Provide students with mathematical skills behind fundamental methods, techniques and algorithms in computer graphics.
- Provide students with the core competencies in event-based programming.
- Develop and code an interactive graphical application in OpenGL/GLEW/GLFW/GLM.
- Model and code a 3D scene through triangle meshes.
- Schedule 3D scene lighting.
- Program the application of textures to geometric models.
- Develop and code a "ray caster".
Bibliography
- João Madeiras Pereira, João Brisson, António Coelho, Alfredo Ferreira, and Mário Rui Gomes. Introdução à Computação Gráfica. FCA, 2018.
- J. Foley, A. van Dam, S. Feiner, J. Hughes. Computer Graphics: Principles and Practice (2nd edition in C). Addison-Wesley Publ. Company, 1996.
- D. Salomon. Computer Graphics and Geometric Modeling. Springer-Verlag, 1999.
- J. Gomes e L. Velho. Image Processing for Computer Graphics. Springer-Verlag, 1997.
- R. Wright Jr. e M. Sweet. OpenGL SuperBible. Waite Group Press, 2000.
- D. Schreiner, M. Woo, J. Neider e T. Davis. OpenGL Programming Guide. Addison-Wesley Publ. Company, 2003.
- D. Schreiner. OpenGL Reference Manual.. Addison-Wesley Professional, 2004.
Assignments Projects Installing OpenGL 3.0+ Libraries
- A01 : Assignment #1: Plotting 2D fractals using modern OpenGL.
- A02 : Assignment #2: Loading, Moving and Rendering Star Wars’ Object Meshes.
- PJ1 : 3D Space Invaders
- Windows : Install Modern OpenGL on Windows
- Mac OSX : Install Modern OpenGL on Mac OS
- Linux : Install Modern OpenGL on Linux
- More tips : More tips about installing modern OpenGL
Assessment
Regras Gerais de Avaliação:Datas e Prazos:
- A avaliação será ao longo do semestre.
- 1º teste escrito: 2.5 valores.
- 2º teste escrito: 2.5 valores.
- 1º trabalho de programação gráfica: 2.5 valores; este trabalho carece de apresentação oral.
- 2º trabalho de programação gráfica: 2.5 valores; este trabalho carece de apresentação oral.
- 3º trabalho de programação gráfica: 2.5 valores; este trabalho carece de apresentação oral.
- Projeto (equipas de 2 alunos no máximo): 7.5 valores; o projeto carece de apresentação oral e de relatório.
Avaliação de projetos:
- A avaliação será ao longo do semestre.
- 1º teste escrito: 23 de outubro (na aula teórica).
- 2º teste escrito: 04 de dezembro (na aula teórica).
- 1º trabalho de programação gráfica: o dia anterior à aula T da 2ª semana de outubro, dia 15 de outubro pelas 23:59.
- 2º trabalho de programação gráfica: o dia anterior à aula T da 2ª semana de novembro, dia 12 de novembro pelas 23:59.
- 3º trabalho de programação gráfica: o dia anterior à aula T da 1ª semana de dezembro, dia 03 de dezembro pelas 23:59.
- Projeto: dia 5 de janeiro de 2025 pelas 23:59.
Admissão a exame:
- Enunciados entregues na última semana de outubro de 2025.
- O projecto é em grupo de 2 alunos, mas a avaliação é individual.
- As defesas do projecto decorrerão entre 6 a 9 de janeiro de 2026.
- Não serão aceites projetos para além do prazo.
- O projecto carece de relatório final escrito em Latex, bem como de defesa pública em sala de aula.
- O relatório final do projecto vale 1.5 valores em 7.5 (veja-se formato em Overleaf Report Template ).
- O projecto é entregue em ficheiro .zip usando qualquer serviço online de transferência de ficheiros (e.g. wetransfer or smash), incluindo o relatório final do projecto a respetiva apresentação.
- Cada relatório deverá incluir as tarefas (e sua autoria) concluídas por cada aluno.
- O projecto carece de apresentação final com a presença de todos os alunos da equipa de projeto.
- Cada aluno só será admitido a exame se tiver concluído um dos elementos sujeitos a avaliação (ou 1 teste escrito ou 1 rabalho de programação ou o projeto final) e tenha dado menos de 6 (inclusive) faltas no total de aulas teóricas e prático-laboratoriais. As faltas serã marcadas a cada período de meia hora, sendo que cada aula tem 4 períodos.
- O exame consistirá na defesa pública dos trabalhos de programação e do projeto eventualmente em falta. O exame também incluirá os testes escritos.
Last update: September 17, 2025.