课程概况
Today, computer graphics is a central part of our lives, in movies, games, computer-aided design, virtual simulators, visualization and even imaging products and cameras. This course teaches the basics of computer graphics that apply to all of these domains.
Students will learn to create computer-generated images of 3D scenes, including flybys of objects, make a real-time scene viewer, and create very realistic images with raytracing. We will start with a simple example of viewing a teapot from anywhere in space, understanding the basic mathematics of virtual camera placement. Next, you will learn how to use real-time graphics programming languages like OpenGL and GLSL to create your own scene viewer, enabling you to fly around and manipulate 3D scenes. Finally, we will teach you to create highly realistic images with reflections and shadows using raytracing.CSE167x teaches the foundations of computer graphics.
This course runs for 6 weeks and consists of four segments. Each segment includes an individual programming assignment:
Overview and Basic Math (Homework 0: 10% of grade)
Transformations (Homework 1: 20% of grade)
OpenGL and Lighting (Homework 2: 35% of grade)
Raytracing (Homework 3: 35% of grade)
This term, students who earn a total score of 50% or greater will have passed the course and may obtain a certificate from UC San DiegoX.
课程大纲
概述(Overview)
欢迎(Welcome)
第0单元(Unit 0)
第1讲: 课程综述(Course Overview)
第2讲: 数学基础(Basic Math)
作业 0
第1单元(Unit 1)
第3讲: 变换(Transforms) 1
第4讲: 变换(Transforms) 2
第5讲: 观察(Viewing)
作业 1
第2单元(Unit 2)
第6讲: OpenGL 1
第7讲: OpenGL 着色(OpenGL Shading)
第8讲: OpenGL 2
作业 2
第3单元(Unit 3)
第9讲: 光线追踪(Ray Tracing) 1
第10讲: 光线追踪(Ray Tracing) 2
作业 3
预备知识
Solid C/C++ programming background (Java is ok too; you will pick up C++)
Access to a relatively up-to-date computer (Windows, Mac OS, Linux)
Solid high school mathematics; a review of the relevant linear algebra is included in the first segment.
常见问题
课程形式是怎样的?
本课程是由这么几个部分组成的:课程视频、小练习和回家作业。课程有四章,每章有2-3讲。每讲有3-5个授课视频,每个视频大约为10到20分钟。每个视频后,都会有个小练习,这可以测试你是否理解了本讲内容。本课程的回家作业将以编程为主,这是与伯克利大学的CS 184课程一致的。你的分数将完全基于编程作业,提交这些作业后将有自动评分系统立即打分。你可以多次向自动评分系统提交你的作业;分数以最后一次提交为准。编程项目需独立完成,请不要照搬其他学生的代码、网上资源和上一期同学的资源。当然,除了不能公开作业代码,还是很鼓励大家在讨论区相互合作和讨论问题的。
本课程会提供文字版么?
会有。所有讲课视频都会有中英文的同步字幕。
我需要跟着课程进度看视频吗?
不需要。你可以根据自己的时间安排观看视频。如果在截至时间内想学得更快,你可以超前观看视频。相对的,你也可以放慢观看视频的节奏。在此请注意,只有在规定截至时间内提交作业并达到合格分数的学生才能获得证书。
学习本课程需要多少费用吗?
不需要,本课程全免费。在课程之后,你希望从事更多有关图形的编程,我们会推荐有关OpenGL和GLSL编程指南,当然,无论如何这些教材不是非卖不可的。现在网上有不少相关免费资源,我们也会将共享这些链接。
本课程对电脑的操作系统有什么要求?
本课程资源涉及C++/OpenGL/GLSL编程,各操作系统都可使用。我们为主流的操作系统(Windows, Mac OSX, Linux)提供了框架代码。虽然,这是门有关可编程渲染的前沿课程,但只要是最近几年内购买的计算机都是够用的。我们提供了不少编译方面的提示和技巧,并且将在“作业 0”中确保你学会编译和使用自动评分系统。你需要相关的C++开发环境;为了让你顺利开始“作业 0”,我们将提供相关资源。在极少情况下,你的计算机无法hold住作业,你也能有足够的时间换一个其他的系统来度过难关。
我会学习Maya/DirectX/3D Studio Max诸如此类的软件吗?
本课程主要讲授计算机图形学的基础,包括相关概念,但不涉及特定软件包。也就是说,在学期末,你将学会用C++、OpenGL和GLSL,来编写复杂的3D图形程序,包括交互式的和离线式的。
我可以直接和老师和助教沟通么?
当然可以,不过不是面对面的。有任何关于课程的问题可以发布在讨论区中。合作授课教师会关注讨论区,并对大家普遍关注的问题作出回应;在更多情况下,其他学生会更快的给出充分的回答。 faster.
我本身有不便(视力上或听力上的等等),我能学这门课程吗?
在大多数情况下,是可以的。每个讲座视频都提供字幕。许多先锋的计算机图形研究人员也会有诸如色盲之类的视觉障碍。但是,这是一门计算机图形学课程,需要对图像的把握,我们可能无法为盲人提供足够的支持。
本学期我有些忙,还能学这门课程吗?
这门课程每周需要大约12小时学习,还有两周的时间用来做作业。获得证书需要成绩达到合格。当然,如果你对证书不感兴趣,你可以看一些视频,尝试一些作业,我们希望每个人都能够各取所需。