Repository to host Graphical Applications Laboratory projects.
LAIG is a course given at FEUP in the third year of the Master in Informatics and Computing Engineering.
The main goal of this project was to build a 3d graphic application. It reads the components of a given scene, specified by a text file, and displays it.
The text file must comply with a defined language, DSX - Description of Scenes in XML, which obeys to a concept widely used in Computer Graphics: Scene graph. Furthermore, the syntax follows the XML tags format.
Therefore, the application reads and transverses all the dsx nodes, while simultaneously builds the respective data structure - scene graph. After reading and loading the info, the scene is then displayed.
![]() |
![]() |
![]() |
---|---|---|
View 1 | View 2 | View 3 |
The goal of this project was to add new graphic functionalities to the work developed in the last project.
As such, by using the parser previously developed and extending the DSX language, we added the following features:
- Animations (linear and circular)
- 2D/3D surfaces
- Shaders based in GLSL ES 1.0
![]() |
![]() |
![]() |
---|---|---|
Scene | Animations and Shaders | Boards |
The goal was to develop a graphical interface for a Prolog game developed in the Logic Programming course, which in our case was the puzzle game Nodes.
- Player Vs Player, Player Vs AI, AI Vs AI (with two difficulty modes)
- Undo last play or reset turn plays
- Game Movie
- Key frame animations
- Switching between predefined scenarios
- Switching between predefined cameras (different for each player)
- Game statistics and player turn timer
![]() |
![]() |
---|---|
Player Vs Player | Game Movie |