Graphics Programming  
General Course Information  
Edirlei Soares de Lima  
Graphics Programming  
Professor: Edirlei Soares de Lima  
B.Sc. in Computer Science UnC  
M.Sc. in Computer Science UFSM  
Ph.D. in Computer Science PUC-Rio  
Teaching Experience: PUC-Rio, UNIRIO, UERJ, IADE-UE  
Game Experience:  
Game Engines: RPG Builder, 3D Game Builder (;  
Research Projects: most are related with Logtell (;  
Games: Krimson (Best Game Award at SBGames 2010 Indie Game Development  
Festival), and several other prototype games.  
More Information:  
What is Computer Graphics?  
The term computer graphics describes  
any use of computers to create and  
manipulate images [Marschner, S., et  
al., 2015].  
Computer graphics is the science and  
art of communicating visually via a  
computer’s display and its interaction  
devices [Hughes, J. F., et al., 2013].  
What is Computer Graphics?  
Computer graphics is a cross-disciplinary field:  
Physics (e.g.: model light behavior);  
Mathematics (e.g.: describe shapes);  
Human Perception (e.g.: only render things that will be  
Human-Computer Interaction (e.g.: interaction devices);  
Engineering (e.g.: optimize allocation of memory, and  
processor time);  
Graphic Design and Art (e.g.: make the computer-to-  
human communication more effective);  
What is the Importance of Computer  
Graphics in Projection Mapping?  
Graphics Programming  
Creative Technologies: learn common and fundamental  
computer graphics concepts and techniques.  
Module Content:  
1. Concepts of computer graphics;  
2. Graphics hardware and pipeline;  
3. 2D and 3D transformations;  
4. Projections and 3D visualization;  
5. Shaders, Textures, and Materials;  
6. Light, shadows, and global illumination;  
7. Particle systems;  
Active and experiential learning:  
Theoretical concepts;  
Practical examples;  
Implementation exercises;  
Game framework: Unity 2021.2.x  
Semester’s PBL team project:  
CT: Implementation of the projection mapping application using the  
concepts and techniques learned during the course.  
Continuous Assessment:  
[70%] Intermediate assessment:  
[60%] Individual exercises on the concepts learned;  
[40%] 1st and 2nd intermediate deliveries of the semester’s PBL team  
[30%] End of term assessment:  
[100%] Final delivery of the team project (within the semester’s PBL team  
project) with individual discussion and report.  
Final Assessment:  
[100%] Practical exam on the concepts learned.  
Project Deliveries:  
1st delivery: identification of the computer graphics necessities:  
Definition of the visual aspects.  
What will be implemented? lighting? shadows? basic shaders? new shaders? visual  
effects? particle systems?  
2nd delivery: basic implementation of the computer graphics elements.  
Overall implementation of the prototype.  
3rd delivery: full implementation of the computer graphics elements:  
Lighting, shadows, basic shaders, new shaders, visual effects, particle systems,  
procedural geometry, …  
At least one shader must be manually coded by the students;  
Overall implementation and integration of the computer graphics elements;  
Individual report about the computer graphics elements used in the project.  
Hughes, J. F., et al. (2013). Computer Graphics:  
Principles and Practice (3rd ed.). Upper Saddle  
River, NJ: Addison-Wesley Professional. ISBN: 978-0-  
Marschner, S., et al. (2015). Fundamentals of  
Computer Graphics (4th ed.). A K Peters/CRC Press.  
ISBN: 978-1482229394.  
Hocking, J. (2015). Unity in Action: Multiplatform  
Game Development in C# with Unity 5. Shelter  
Island, NY: Manning Publications. ISBN: 978-1-  
Graphics Programming  
Canvas: Graphics Programming  
Course webpage: