Teachers
Person in charge
- Carlos Andujar Gran ( andujar@cs.upc.edu )
Others
- Alejandro Beacco Porres ( alejandro.beacco@upc.edu )
- Alejandro Ríos Jerez ( arios@cs.upc.edu )
- Alvaro Vinacua Pla ( alvar@cs.upc.edu )
- Antonio Chica Calaf ( achica@cs.upc.edu )
- Eduard Pujol Puig ( eduard.pujol.puig@upc.edu )
- Imanol Muñoz Pandiella ( imanolm@cs.upc.edu )
- Marta Fairen Gonzalez ( mfairen@cs.upc.edu )
- Oscar Argudo Medrano ( oargudo@cs.upc.edu )
- Víctor Franco Sánchez ( victor.franco.sanchez@upc.edu )
Weekly hours
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Competences
Common technical competencies
- CT1.2A - To interpret, select and value concepts, theories, uses and technological developments related to computer science and its application derived from the needed fundamentals of mathematics, statistics and physics. Capacity to solve the mathematical problems presented in engineering. Talent to apply the knowledge about: algebra, differential and integral calculus and numeric methods; statistics and optimization.
- CT1.2C - To use properly theories, procedures and tools in the professional development of the informatics engineering in all its fields (specification, design, implementation, deployment and products evaluation) demonstrating the comprehension of the adopted compromises in the design decisions.
- CT4.1 - To identify the most adequate algorithmic solutions to solve medium difficulty problems.
- CT5.2 - To know, design and use efficiently the most adequate data types and data structures to solve a problem.
- CT5.3 - To design, write, test, refine, document and maintain code in an high level programming language to solve programming problems applying algorithmic schemas and using data structures.
- CT5.5 - To use the tools of a software development environment to create and develop applications.
Appropiate attitude towards work
- G8.3 - To be motivated for the professional development, to face new challenges and the continuous improvement. To have capacity to work in situations with a lack of information.
Sustainability and social commitment
- G2.3 - To take into account the social, economical and environmental dimensions, and the privacy right when applying solutions and carry out project which will be coherent with the human development and sustainability.
Computer science specialization
- CCO2.3 - To develop and evaluate interactive systems and systems that show complex information, and its application to solve person-computer interaction problems.
- CCO2.6 - To design and implement graphic, virtual reality, augmented reality and video-games applications.
Objectives
-
Understand in depth the various stages of the graphics pipeline
Related competences: CT1.2A, CT1.2C, CCO2.6, -
Being able to implement the algorithms associated with different stages of visualization
Related competences: CT1.2A, CT1.2C, CCO2.6, CT4.1, CT5.5, -
Understand the fundamentals, limitations of the model equations of local lighting
Related competences: CCO2.6, -
Assimilating the functionality, programming and execution model shaders in GLSL
Related competences: CT1.2C, CCO2.6, -
Understanding and implementing technical skills have to interact with 3D scenes (selection, manipulation and navigation).
Related competences: CCO2.3, CCO2.6, CT5.5, CT5.3, -
Know in depth the concepts, techniques and algorithms related texturació surfaces
Related competences: CT1.2A, CT1.2C, CCO2.6, -
Understand and be able to develop algorithms for the simulation of shadows
Related competences: CT1.2A, CT1.2C, CCO2.6, -
Understand and be able to develop algorithms for the simulation of mirror reflections
Related competences: CT1.2A, CT1.2C, CCO2.6, -
Understand and be able to develop algorithms for the simulation of transparent objects
Related competences: CT1.2A, CT1.2C, CCO2.6, -
Assimilate the main concepts, equations and algorithms for global illumination
Related competences: CT1.2A, CT1.2C, CCO2.6, CT4.1, -
Knowing the ray-tracing algorithm and its variants
Related competences: CT1.2A, CT1.2C, CCO2.6, CT4.1, -
Being able to implement features for efficient ray-geometry intersection
Related competences: CT1.2A, CT1.2C, CCO2.6, CT4.1, CT5.2, -
Identify the advantages and disadvantages of the different structures of spatial data
Related competences: CCO2.6, CT5.2, -
Being able to develop applications for interactive graphics rendering of 3D scenes
Related competences: CCO2.3, CCO2.6, CT4.1, CT5.2, CT5.5, CT5.3, -
Understand the elements of realistic visualization and differences between models of local and global illumination
Related competences: CCO2.3, CCO2.6, -
Know CG possibilities for the professional career, and develop quality skills.
Related competences: G8.3, G2.3, -
Know the role of computer graphics in the development of software with clear social, economic or environmental contributions, in fields such as medicine, industrial design and cultural heritage.
Related competences: G2.3,
Contents
-
Introduction to Graphics
Paradigms display. Elements that define the rendering. Emission, reflection and transmission of light. Behavior and widespread speculation. Models of global and local illumination. -
Computer graphics applications areas
Role of computer graphics in our world. Main applications with clear social, economic and environmental contributions. Applications in medicina, industry and cultural heritage. -
Process visualization projective
Geometric transformations and coordinate systems. Shipping geometry. Vertex processing. Composition of primitive and cut. Rasterització and interpolation. Processing fragments. Operations fragment. Upgrading the frame buffer. -
Development of shaders
Vertex shaders. Geometry Shaders. Fragment shaders. Language GLSL. API for developing shaders. -
Interaction with 3D scenes
Selection of objects. Manipulation of objects. Handling the navigation camera and the scene. -
2D Textures
Texture space. Reverse Mapping. Generation, transformation, and interpolation of texture coordinates. Projective texture mapping. Sampled textures. Mipmapping. Samplers in GLSL. -
Simulation of shadows
Concepts. Umbra and penumbra. Properties. By projecting shadows on one or more plans. Shadow mapping. -
Simulation of specular reflections
Concepts. Direct Reflection (with virtual objects). Simulation with dynamic textures. Environment mapping -
Simulation of transparent objects
Introduction. Scattering. Refraction. Snell law. Critical angle. Fresnel equations. Alpha blending. -
Global Illumination
Figures basic radiometry. BSDF. General rendering equation. Mechanisms of transport of light. Classification of global illumination algorithms. -
Ray-tracing
Ray-tracing classic. Ambient occlusion -
Ray-Intersection Geometry
Algorithms-ray intersection geometry. Spatial Data Structures. Subdivision of space. Branch of the scene.
Activities
Activity Evaluation act
Theory
4h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
8h
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
4h
Working graphics applications in today's society
Written work on the role of computer graphics in the software development impact social, economic and / or environmental, in areas such as medicine, design and cultural heritage.Objectives: 17 16
Week: 15
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
Seminar on computer gràfics
Objectives: 17 16
Contents:
- 1 . Introduction to Graphics
- 3 . Process visualization projective
- 4 . Development of shaders
- 5 . Interaction with 3D scenes
- 6 . 2D Textures
- 7 . Simulation of shadows
- 8 . Simulation of specular reflections
- 9 . Simulation of transparent objects
- 10 . Global Illumination
- 11 . Ray-tracing
- 12 . Ray-Intersection Geometry
- 2 . Computer graphics applications areas
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
2h
Teaching methodology
The teaching methodology is based on weekly theory classes (2h) and lab (2h). In the theory classes will introduce the concepts, equations, algorithms and techniques of the course contents, and exercises that help to assimilate the concepts and facilitate the development of practices that are performed in the lab sessions. The lab will consist of the teacher in introducing the scripts practices, structured sessions, and specific concepts required for their development. Students must complete the design and implementation of various applications related to the contents of the course. To facilitate their development, applications will be supplied skeletons will be partially programmed.Two hours of theory classes are weekly.
The two hours of laboratory classes are also weekly.
The independent learning is considered essential because the students outside of class must deepen some of the content entered by the teacher, using the documentation provided and seeking new ones.
The course uses the C + + programming language, along with OpenGL and GLSL.
Evaluation methodology
F = final examAA = other online activities
C1 = lab control 1
C2 = lab control 2
Mark = max(0.5E, 0.4E + 0.1AA) + 0.25C1 + 0.25C2
Bibliography
Basic
-
Informàtica gràfica: un enfocament multimèdia
- Andújar, C.; Brunet, P.; Fairen, M.; Monclús, E.; Navazo, I.; Vàzquez, P.P.; Vinacua, A,
CPET,
2008.
-
Interactive computer graphics : a top-down approach with WebGL
- Angel, E.; Shreiner, D,
Pearson,
2015.
ISBN: 9781292019345
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004030149706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Real-time rendering
- Akenine-Moller, T. [et al.],
CRC Press,
2018.
ISBN: 9781138627000
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004153129706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
OpenGL shading language
- Rost, R.J.; Licea-Kane, B,
Addison-Wesley,
2010.
ISBN: 9780321637635
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003760359706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
3D computer graphics
- Watt, A.H,
Addison-Wesley,
2000.
ISBN: 0201398559
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991002227789706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Complementary
-
Physically based rendering: from theory to implementation
- Pharr, M.; Jakob, W.; Humphreys, G,
Morgan Kaufmann Publisher,
2016.
ISBN: 9780128007099
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991001589029706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
OpenGL programming guide: the official guide to learning OpenGL, version 4.5 with SPIR-V
- Kessenich, J.; Sellers, G.; Shreiner, D,
Addison-Wesley,
2017.
ISBN: 9780134495491
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004095509706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Geometric data structures for computer graphics
- Langetepe, E.; Zachmann, G,
AK Peters,
2006.
ISBN: 9781568812359
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003279129706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Web links
- Web oficial de Qt http://qt.nokia.com/
- Especificació de les diferentes versions d'OpenGL. http://www.opengl.org/documentation/specs/