Academic year 2013-14

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

Currently, 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. The goal of the assignatura will be to provide an introduction to the subject of 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

Competències transversals

Competències específiques

 

Instrumentals

G1. Capacitat d'anàlisi i síntesi

G2. Capacitat d'organització i planificació

G7. Capacitat de comunicar-se en contextos acadèmics i professionals de forma oral i escrita en anglès, tant davant audiències expertes com inexpertes

 

Sistèmiques

G12. Capacitat per a progressar en els processos de formació i aprenentatge de manera autònoma i contínua

G14. Capacitat de motivació per la qualitat i per l'assoliment

 

Competències Específiques Professionals

H2. Disposar dels fonaments matemàtics, físics, econòmics i sociològics necessaris per interpretar, seleccionar, valorar, i crear nous conceptes, teories, usos i desenvolupaments tecnològics relacionats amb la informàtica, i la seva aplicació.

H4. Aprendre de manera autònoma nous coneixements i tècniques adequats per a la concepció, el desenvolupament o l'explotació de sistemes informàtics.

B16. Conèixer els fonaments teòrics de la programació i utilitzar de forma pràctica els mètodes i llenguatges de programació per al desenvolupament de sistemes software.

Competències Específiques d'Enginyeria en Sistemes Audiovisuals

AU20. Assolir els coneixements bàsics de les tècniques de traçat de rajos, del modelatge geomètric i de la generació d’imatges sintètiques

 

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.

Each of the three lab assignments will contribute 1/3 to the seminars and labs mark. 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.

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 (Chapters 1 & 2 of the reference:

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

2. Transformation Matrices & Viewing (Chapters 6 & 7)

3. Texture Mapping (Chapter 11)

4. Ray Tracing & Global Illumination (Chapters 4, 13, 20, 25)

Other topics, such as:

- Modeling and representation of 3D objects for CG

- Graphics pipeline

- Other mapping techniques

- Basics of Computer Animation

will be presented by students requested to prepare them, if time permits.

 

Lab contents

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

•       Writing an OBJ parser and implementing basic camera and lighting functionality, rendering of two primitive object types (spheres and triangles)

•       Loading texture through parser, assigning to loaded primitive objects and implementing bump mapping

•       Implementing a basic ray tracer that can handle shadows, reflections and refractions.

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. For OpenGL, the following book will be followed:

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.

 

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

23-27 set

24/09

 

FESTIU

 

26/09

 

T1

27/09

S101/ S102

(1h cada grup)

OpenGL basics

2

30 set-4 oct

01/10

T1

03/10

P101

04/10

S101/ S102

(1h cada grup)

Obj

3

07-11 oct

 

 

10/10

 

T1

11/10

 

4

14-18 oct

15/10

T1

17/10

P101

18/10

S101/ S102

(1h cada grup)

Viewing

5

21-25 oct

22/10

T1

P1 Delivery

24/10

 

25/10

S101/ S102

(1h cada grup)

Texture mapping

6

28 oct-1 nov

29/10

 

T1

31/10

 

 

01/11

 

FESTIU

7

04-08 nov

05/11

T1

07/11

P101

08/11

S101/ S102

(1h cada grup)

Texture mapping

8

11-15 nov

12/11

T1

P2 Delivery

14/11

 

15/11

S101/ S102

(1h cada grup)

Lighting Render

9

18-22 nov

19/11

T1

21/11

P101

22/11

S101/ S102

(1h cada grup)

Lighting Render

10

25-29 nov

26/11

 

 

28/11

 

 

 

 

29/11

S101/ S102

(1h cada grup)

Lighting Render

11

02–06 des

03/12

P101

P3 Delivery; Presentations

 

05/12

 

NO LECTIU

 

06/12

 

FESTIU

 

 

Resources

The main textbooks, as indicated earlier, 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.

 

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