Academic year 2015-16

Advanced Visualisation

Degree: Code: Type:
Bachelor's Degree in Computer Science - -
Bachelor's Degree in Telematics Engineering 21766 Optional subject
Bachelor's Degree in Audiovisual Systems Engineering 21622 Compulsory subject, 4th year

 

ECTS credits: 4 Workload: 100 hours Trimester: 1st

 

Department: Dept. of Information and Communication Technologies
Coordinator: Josep Blat
Teaching staff:

Arash Bahrehmand, Josep Blat

Language:

English

Timetable:
Building: Communication campus - Poblenou

 

Introduction

Nowadays, a large part of the visual material in movies is synthetically generated. This is the case in most animation movies, but currently most movies contain visual effects, which are more and more often synthetically generated; this computer generated material is also known as CGI. CG stands for Computer Graphics, which is also the key component of videogames. This computing subject is also very important in several other fields such as Scientific & Medical visualization, in GIS (Geographical Information Systems), Industrial design, Simulation, or Communication at large.

 

There is a strong need of engineers who carry the weight of (software) development in the Audiovisual (better term in English use, Media) industry, where positions are advertised as technical artists, technical directors, pipeline engineers; a further stage is research and development within this media industry. The goal of this assignatura is to introduce Computer Graphics, especially with respect to media systems.

 

The topic has not been introduced before this fourth and final year of the degree and it is probably the first and last time the topic is dealt with by the students. The goal of the assignatura will be to provide an introduction to the Computer Graphics, but also to prepare the future enginyer/es en sistemes audiovisuals to be able to manage basic graphics engineering within media systems.

 

From the point of view of the acquired and necessary skills, another aspect that has to be taken into account is that the overwhelming majority of the programming that students have carried out so far in the degree is through MatLab. Introducing C++ and OpenGL is both a challenge and an objective of the course, so that students acquire the basics of a technical competence, which will be probably important for their professional future.

 

Enabling the students to deal with high-level industrial graphics packages (such as Maya) would be another important objective, which would be achieved in terms of students implementing interesting CG plug-ins for Maya, using, for instance, Python. But this is outside the scope of the course, although the course can help to prepare the students for it.

 

Prerequisites

Basic Maths and Programming.

 

Associated competences

Cross-disciplinary competences

Specific competences

 

Instrumental

G1. Analysis and synthesis abilities

G2. Organization and planning abilities

G7. Ability to communicate in academic and professional contexts (oral and written) in English, in front of expert and non-expert audiences. 

 

Systemic

G12. Ability to progress in autonomous and continuous learning/training

G14. Motivation for quality and success in own projects

 

Professional

H2.Mathematical, physical, economic and sociological foundations necessary to interpret, select, evaluate, and create new concepts, theories, applications and technological developments related to computer systems and its application.

H4. Autonomously learn new skills and techniques appropriate to the design, development and operation of computer systems.

B16. Know the theoretical foundations of programming and use in a practical way methods and programming languages for developing software systems.

Specific Skills for Audiovisual Systems Engineering

AU20. To acquire basic knowledge of the techniques of ray tracing, geometric modeling and generation of synthetic images

 

Assessment

The evaluation of the theory part will be based on the exercises requested, and the reports and presentations eventually requested.  This will account for 1/3 of the overall mark while the rest will be based on the mark of seminars and labs. Further information will be provided from the Aula Global.

The weight of the assignments in the seminars and labs mark (which accounts for 2/3 of the global mark) is:

P1

P2

P3

P4

P5 or P6

10%

20%

20%

20%

30%

The students who do both P5 and P6 will get extra points.

The evaluation will be carried out after the delivery of the material (reports, source code fully commented), including personal interviews if appropriate, and feedback to the students will be provided. During the exams period, the last lab will be publicly presented, and then marked.

If the presentations are failed, this work cannot be re-submitted. If some part of the other work is failed, it can be re-submitted before the marks delivery in December, with a personal interview - or in the established ‘resubmission’ period in July, again with a personal interview.

 

Contents

Theory contents

The initial part of the course will be composed of some selected topics closely related to the practical labs envisaged, which will be also prepared through the seminars. The labs activities guide the order of the topics.

1. Introduction & Basic Maths

2. Curves, Surfaces, Modelling and Representation in CG

3. Transformation Matrices & Viewing

4. Colour and Texturing / Texture Mapping

5. Lighting

Other topics, such as:

- Graphics pipeline

- Other mapping techniques

- Basics of Computer Animation

- …

will be prepared and presented by students as part of the required work for the course.

 

Lab contents

The seminars and labs will be around five assignments that the students, in groups, will have to undertake, namely:

 (A shader compiler is provided in the starter kit).

These assignments will require the use of C++ and OpenGL, and the seminars and labs will provide practical introductions to them as well as to orientations towards the assignments. The references point at some good sources for OpenGL.

 

Methodology

The organization of the course is based on the interplay of theory, seminars, and labs. During the theory sessions the basic concepts of Computer Graphics will be introduced, together with discussing both mathematical (geometrical) grounding, and computing aspects. During seminars and labs, deeper insights of the computing aspects (programming, data structures) are discussed, together with complementary material related to the assignments, and during labs, the focus is on the (computing) outcomes.

As indicated in the beginning, the computing aspects are very relevant for the course intended competences. The course intends to complement the fundamentals in programming graphics with C++, as well as the OpenGL API. 

 

 

Dimarts
16.30-18.30

Dijous
18.30-20.30

Divendres
14.30-16.30

1

21-25 set

22/09

 

 

 

24/09

 

FESTIU

 

 

25/09

 

NO LECTIU

 

 

 

2

28 set-2 oct

29/09

 

 

T1

 

 

01/10

 

S101/ S102

(1h cada grup)

 

02/10

 

 

 

 

3

05-09 oct

06/10

 

T1

 

 

08/10

 

P101

 

09/10

 

P102

4

12-16 oct

13/10

 

T1

 

 

15/10

 

S101/ S102

(1h cada grup)

 

16/10

 

 

 

 

5

19-23 oct

20/10

 

T1

 

 

22/10

 

P101

 

23/10

 

P102

 

6

26-30 oct

27/10

 

T1

 

 

29/10

 

S101

30/10

 

S102

7

02-06 nov

03/11

 

T1

 

 

05/11

 

P101

 

 

06/11

 

P102

 

 

8

09-13 nov

10/11

 

T1

 

 

12/11

 

13/11

S101/ S102

(1h cada grup)

 

 

9

16-20 nov

17/11

 

T1

 

 

19/11

 

P101

 

 

20/11

 

P102

 

 

10

23-27 nov

24/11

 

T1

 

 

26/11

 

S101

 

 

 

27/11

 

S102

 

 

11

30 nov-4 des

01/12

 

P101

 

 

03/12

 

P102

 

 

04/12

 

S101/ S102

(1h cada grup)

 

 

 

 

 

Resources

The main textbooks are:

(Theory) Shirley, Peter; Marschner, Steve et al: Fundamentals of Computer Graphics. 3rd edition. A K Peters, A K Peters, Natick, Massachusetts, 2009.

(Labs) Shreiner, Dave‚Ä®(The Khronos OpenGL ARB Working Group): OpenGL Programming Guide, The Official Guide to Learning OpenGL, Versions 3.0 and 3.1, 7th Edition, Addison-Wesley, 2010.

 

Complementary recommended books are:

Wolff, David: OpenGL 4.0 Shading Language Cookbook: over 60 highly focused, practical recipes to maximize your use of the OpenGL Shading Language, Packt Publishing, Bimingham, UK, 2011. T385 .W65 2011

Watt, Alan H.: 3D Computer Graphics, Addison-Wesley, Harlow,  2000 (3rd ed.) T385 .W38 2000

(More oriented to programming) Buss, Samuel R.: 3D Computer Graphics: A mathematical approach with OpenGL, Cambridge University Press, Cambridge, 2003.

Lengyel, Eric. Mathematics for 3D game programming and computer graphics. Cengage Learning, 2012.

Gregory, Jason. Game engine architecture. CRC Press, 2009.

Other material will be provided in lectures, seminars and labs through the Aula Global.