Course Syllabus

Computer Graphics:

Programming 3D Applications 

DIS Logo

ComputerGraphicsTitle.PNG

Semester & Location:

Spring 2025 - DIS Copenhagen

Type & Credits:

Elective Course - 3 credits

Major Disciplines:

Computer Science, Mathematics

Prerequisite:

Three computer science courses and one mathematics course at university level. Knowledge of at least one object-oriented programming language (e.g. Java, C#, C++, Javascript). Knowledge of linear algebra is recommended.

Faculty Members:

Andrea Corcuera (Current students please use Canvas Inbox to contact)

Program Director:

Natalia Landázuri Sáenz, PhD

Program Contact: 

CE@dis.dk

Time & Place:

Thursdays, 10:05-13:00

Location: V23-201

Course Description

Using modern web-based graphics APIs we can now create interactive 3D graphics that can run in almost any web-browsers including on mobile phones and tables. This opens up a whole new way of creating web applications that previously was limited to text and 2D graphics.

This course provides a solid foundation in graphics programming. Students will implement the fundamentals of 3D rendering on their own followed by more advanced techniques with the help of supporting frameworks:

  • modeling and viewing transformations
  • perspective projection
  • shader programming
  • lighting with Gouraud and Phong shading
  • texture mapping and bump mapping
  • shadows

Learning Objectives

By the end of this course the student will be able to create interactive 3D graphics running in a web-browser, such as games, 3D model viewing, infographics and effects.

Faculty

Andrea Corcuera, B.Sc. (Telecommunications engineering, Pompeu Fabra University) M.Sc. (Sound and music computing, Aalborg University; Computational engineering and mathematics, Universitat Oberta Catalunya), PhD candidate (Physics, University of Music and Performing Arts Vienna). Former Marie Curie Fellow. Audiovisual Engineer with a background in the hearing care industry and virtual reality. With DIS since 2024.

 

Readings

  • Computer Graphics
    • Interactive Computer Graphics: A Top-Down Approach with WebGL (newest edition) by Edward Angel, Dave Shreiner.
      • A suitable introduction to computer graphics for undergraduate students in computer science and engineering, for students in other disciplines who have good programming skills, and for professionals interested in computer animation and graphics using the latest version of WebGL.
    • Real-Time Rendering, Fourth Edition 4th Edition by Tomas Akenine-Möller, Eric Haines, Naty Hoffman.
      • The book covers presents a solid theoretical framework and relevant mathematics for the field of interactive computer graphics, all in an approachable style. It also discusses current, practical rendering methods used in games and other applications.
    • Online Course for Computer graphics: 'Interactive 3D Graphics' by Eric Haines Interactive 3D Graphics | Udacity
      • covers the basic principles of 3D computer graphics: meshes, transforms, cameras, materials, lighting, and animation.
  • Javascript, web and related technologies

Field Studies

Copenhagen has as a bigger IT site many businesses and companies that are worth visiting. This of course also includes computer graphics and web technologies, the main disciplines of this course. Possible company visits can include Unity Technologies, a software development company founded in Denmark and  based in USA, as well as a healthy amount of startups created in the startup friendly business environment of Denmark. Furthermore the Copenhagen based universities, specifically the University of Copenhagen and Aalborg University have big research groups and projects in the field that can be visited and where experts can be met.

Guest Lecturers

TBA

Approach to Teaching

The class will be a hands on approach to learning the basics of computer graphics. Every piece of theory is accompanied by a practical exercise to deepen and interconnect the understanding. A final project will allow the students do make use of the learned skills and also further develop into a direction of their own choice.

Expectations of the Students

The course is designed for anyone who has a good foundation in computer science and programming and wants to look into the field of computer graphics. The class has besides the knowledge of standard computer science mathematics and programming skills no further requirements and is oriented to newcomers to the topic. Students who have already worked with OpenGL or DirectX before will have a much easier time getting started, but will get the chance to work with the amazing WebGL framework and develop their skills in a direction of their own choosing in the final project.

Evaluation

During the course of the class several lab exercises have to be completed and delivered individually. In the end a final project will be created in groups of 1-2 students. The project can be an interactive application or tech-demo targeting a specific problem of a selection given by the instructor, or after approval, a student proposed problem. This could be for example, shaders, shadows, ray-marching or real-time interactivity.

Grading

Assignment

Percent

Lab deliverables and exercises

40%

 

Final Project

50%

 

Participation, including field studies and homework

10%

 

Academic Regulations  

Please make sure to read the Academic Regulations on the DIS website. There you will find regulations on: 

DIS - Study Abroad in Scandinavia - www.DISabroad.org

Course Summary:

Date Details Due