390 likes | 398 Views
This lecture provides an introduction to computer graphics techniques, including theoretical information, practical tools, and assignments. Taught in a lab setting with weekly updates, quizzes, and a term project.
E N D
SE 313 – Computer Graphics Lecture 1: Introduction Lecturer: GazihanAlankuş Please look at the last three slides for assignments (marked with TODO)
Briefly • A class with • Very little coding (no struggling with OpenGL code) • Some mathematics (linear algebra) • A lot of theoretical information about modern computer graphics techniques • A lot of practice with state-of-the-art graphic tools • All lectures will be in a lab setting • Many assignments that you will perform during the lecture and get graded • Preparatory homeworks before most lectures • Quizzes about homeworks • Term project • Groups of at most 3 • Weekly individual updates
Outline • Me • Class • Logistics of class • You • HOMEWORK 1!!!
Outline • Me • Class • Logistics of class • You • HOMEWORK 1!!!
Instructor • Dr. GazihanAlankuş • METU, BS 2002, MS 2005 • WUSTL, PhD 2011 • Is now an Assistant Professor • Background • Some industry experience (including Google) • I do research on games • Now I get to teach games • reasonable > idealistic • Please use gazihan.ieu@gmail.com for class-related e-mail exchange
Can you understand me? • English language is just a tool, not a goal. • The goal is to communicate and learn. • Stop me when you don’t understand something. • In general, be active in class.
TA • Erdem OKUR <erdemokur@hotmail.com> • Will be present in the labs • Grading • Helping with your problems
Outline • Me • Class • Logistics of class • You • HOMEWORK 1!!!
The Goals of This Class • Main goal: Equip video game programmers with information related to game visuals • What the mathematical foundations of 3D geometry is • How you can represent models of objects with 3D geometry • How you can apply modern techniques to create 3D scenes • How you can create 3D assets to be used in video games • Secondary goal: Provide useful information and experience for programmers that are not game developers.
Class • What is computer graphics? • Let’s watch some videos
SE 313: Computer Graphics • What it is • Theoretical basis of 3D graphics • Modern computer graphics techniques • Using modern computer graphics tools • Creating 3D assets for games and interactive applications • What it is not • Creating user interfaces with forms, etc. • Low-level GPU programming (with OpenGL)
Graphics vs. Vision • Computer Vision • images -> computer • Computer Graphics • computer -> images
Computer Graphics • Using computers to generate, manipulate and store images of virtual scenes • There are different ways • We will not be focusing on programming GPUs to render in real-time • We will learn about the theory behind computer graphics • We will have a practitioner's perspective and will use modern tools for implementation
How Do Computers Create and Display Images? • Define and store abstract representation of a scene • Perform the necessary projection for the output device (2D image, 3D hologram) • Use the output device (monitor) to display it to the user
Today We Have Better Displays • Active matrix systems (LCD, Plasma, LED, etc) • 3D displays (with or without glasses)
They All Display Pixels • The images are stored and displayed as a matrix of colored points Mixture of red, green and blue [adobe.com]
The Goal is to Fill the Pixels • Various mathematical techniques to convert your data to pixel output • Good news: Computers do this for us, so we don’t have to worry about this anymore
What We Need to Do Instead • Create a mathematical model that defines a complete scene • Modeling tools • Get the computer to convert it to an image • Rendering tools • To use these tools effectively you need to • Learn the theoretical background • Practice with tools to get an intuitive sense
More Specifically Blender Unity
Class • Learning about computer graphics techniques and applying them using modern tools • This is my first time teaching this version of the class. There can be mistakes. • Syllabus is online in the class home page: • http://ects.ieu.edu.tr/syllabus.php?section=ce.cs.ieu.edu.tr&course_code=SE%20313&cer=0 • Book is very useful • Theory + OpenGL (you can ignore) • Get the book! • Reading assignments
Outline • Me • Class • Logistics of class • You • HOMEWORK 1!!!
Logistics • Website • http://homes.ieu.edu.tr/galankus/teaching/12fall/se313/ • Reach from my homepage (Google me if you must) • Slides and extra material • Google group • http://groups.google.com/group/ieu-se313-graphics-fall-2012 • I will send announcements using the Google group
Logistics • Grades • Attendance (except today) • Lab assignments / homeworks / quizzes • Project • Midterm • Final
Labs/Lectures • Before you come to class, there will be a homework that will teach you the basic concepts of the subject • At the beginning of the class there will be a quiz to test whether you did your homework • The lecture will teach you the subject and give you a chance to practice • Towards the end of the lecture you will perform an assignment and will be graded right away • You can bring your own laptops.
Projects • Various projects related to computer graphics • You choose the topic • I will supply sample topics that you can choose from • You can merge this with projects from other classes • Groups of at most three • Expectation will be proportional with group size • Everybody contributes • Submit a report along with the sources of the actual work • You can use other people’s work (samples, libraries, models, textures, etc.), but you have to clearly indicate it. I will not tolerate cheating.
Outline • Me • Logisticsof class • You • Class • HOMEWORK 1!!!
Let’s get to know you • Introduce in detail, from where, etc. • Registered? Why? • What do you expect • from this class? • to see happen by the end of semester? • What do you know about computer graphics? • Have you used any visual tools?
Outline • Me • Logisticsof class • You • Class • HOMEWORK 1!!!
TODO: Google Group • Do either one of these: • Go to http://groups.google.com/group/ieu-se313-graphics-fall-2012 and apply for a membership. • Or, send an e-mail to gazihan.ieu@gmail.com and I will invite your e-mail to the Google group. You will have to accept the invitation. • I will use this for class announcements • You can also send questions, comments, helpful tips, or announcements to it but I will moderate your e-mails.
TODO: Homework 1.a (preparation) • Download and install these (or use lab computers at 609 or 601) • Blender - http://www.blender.org/ • Unity - http://www.unity3d.com/ • Gimp - http://www.gimp.org/ • Watch the video from the link below to learn how to navigate in the Maya interface by dragging the mouse with the Alt key and the three different mouse buttons. We will use the same kind of navigation in Blender • http://www.youtube.com/watch?v=uLal5VLFcAY
TODO: Homework 1.b (Blender intro) • Run Blender, switch to the Maya preset in the splash screen (or in File->User preferences->Input). This way, you can use the same kind of navigation (Alt+drag) that is in Unity. • Watch the 7 short videos from here and practice them in Blender. Note the difference in navigation (Blender default vs Maya presets) and adapt yourself to it. • http://cgcookie.com/blender/get-started-with-blender/
TODO: Homework 1.c (the deliverable) • Run Blender, switch to the Maya preset in the splash screen (or in File->User preferences->Input). This way, you can use the same kind of navigation (Alt + mouse drag) that is in Unity. • Using the mesh primitives (Add->Mesh), write down (at least) the first letter of your name (check the example image on the right). Feel free to have fun with it. • Save the image (after rendering, Image->Save As Image) and the .blend file (File->Save As). Send them to Erdem, who is the assistant for this course. • Use this kind of a subject (copy-paste this and modify): • SE 313 Homework 1 Ali Veli 201203021030