Course Syllabus
Computer Graphics:Programming 3D Applications |
Semester & Location: |
Fall 2024 - 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: |
Benno Lüders (current students please use the Canvas Inbox) |
Program Director: |
Natalia Landázuri Sáenz, PhD |
Program Contact: | |
Time & Place: |
Mondays, 10:05-11:25 (class) Thursdays, 10:05-11:25 (lab) Location: V10-A31 |
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 interactive 3D graphics running in a web-browser, such as games, 3D model viewing, infographics and effects.
Faculty
Benno Lüders. M.S (Game Technology, IT University of Copenhagen, 2016). Game enthusiast and Game Development all-rounder with focus on Game Programming. Assistant teacher at the royal academy of fine arts in Copenhagen (2015 - 2016). Tutor and teaching assistant at the IT University of Copenhagen (2015) and Hochschule Fulda (2011 - 2013). Backend Java developer at mobile game company Flaregames in Karlsruhe (2013 - 2014). With DIS since 2016.
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 https://eu.udacity.com/course/interactive-3d-graphics--cs291
- covers the basic principles of 3D computer graphics: meshes, transforms, cameras, materials, lighting, and animation.
- Interactive Computer Graphics: A Top-Down Approach with WebGL (newest edition) by Edward Angel, Dave Shreiner.
- Javascript, web and related technologies
- Javasript tutorials on W3Schools (as additional student resource) https://www.w3schools.com/js/
- GIT https://git-scm.com/
- GIT Bash (Terminal for Windows) https://gitforwindows.org/
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 APIKO Denmark a Ukranian developer for marketplaces, tools, mobile apps, data collection, websites with a big office in Copenhagen, INGSOFTWARE, a software development company based in Nis, Serbia with offices in USA, Austria, Denmark and Zimbabwe, many others 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 the IT-University have big research groups and projects in the field that can be visited and where experts can be met.
Guest Lecturers
Henrique Debarba: Assistant Professor at the IT-University in the Digital Design department, researcher and teacher for Computer Graphics, previously seniour researcher at Artanim in Meyrin, Switzerland and Ph. D. assistant at Faculté Informatique et Communications in Lausanne, Switzerland.
more 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 |
---|---|---|