CS184.1x讲授计算机图形学的基础知识。学生将了解3D图形的概念,并开发使用实时OpenGL和GLSL编程以及离线光线跟踪创建具有照明功能的3D场景图像的程序。重点是基础和编写自己的程序,而不是学习使用特定的软件,如Maya或Photoshop。
您可以查看教学大纲页面,查看我们将要涵盖的主题,以及课堂幻灯片、视频和家庭作业。简而言之,本课程分为4个单元,每个单元都有自己的家庭作业。
单元/家庭作业0和1各分配1周,而更具挑战性的家庭作业2和3各分配2周。整个课程为期6周,应该为交互式和离线3D计算机图形学提供坚实的基础。
本学期,总成绩在50%或以上的学生将通过这门课程,并可以获得BerkeleyX的免费荣誉代码证书。与所有EdX课程一样,证书上不会显示任何数字分数或等级。
这些视频讲座可以从课件中获得,并托管在YouTube上。由于YouTube在一些国家不可用,我们还提供了每个讲座视频的链接,以下载MP4视频、幻灯片和文字记录,以及较低带宽的半分辨率视频。一些想要下载视频以供离线使用的学生也报告说,使用Keepvid可以获得较小的文件大小的视频。在很多讲座中,我都会把公式或代码写在幻灯片上(我用的是连接到MacBook Pro上的Wacom Cintiq 12WX平板电脑)。我相信这会让演讲更吸引人,而不是纯粹看幻灯片。然而,我承认我的书法不是最好的。对于任何相关的数学方程式,完整的排版方程式将始终显示,通常显示在紧接着的下一张幻灯片上。您可以下载的讲课幻灯片PDF也包含所有的方程式。EdX视频查看器应支持交互式文字记录,分辨率从240p到HD 720p。如果您想要直接链接到YouTube视频,您可以访问当地的加州大学伯克利分校网站进行在线讲座,也可以直接浏览CS 184 YouTube频道。最后,请注意,每堂课都有多个视频片段,您可以在顶部的选项卡上访问它们。*为方便起见,幻灯片包括完整的讲座(所有部分)。
本课程在家庭作业0、1和2中广泛使用OpenGL(和C++),主要作为理解和实现图形概念的工具/语言。虽然不需要事先了解OpenGL,但您将主要从在线文档中学习基本知识和编程;通过搜索在线文档来学习/使用一门新语言对于有经验的程序员来说并不少见。
作业截止时间为太平洋标准时间晚上11:59(太平洋标准时间为格林威治标准时间8小时),截止时间为教学大纲中列出的截止日期。我们提供3天的宽限期(不受处罚),以应对意外问题。超过这一点,将不会给予任何积分,评分员在这之后将不再工作。
我们建议你早点开始做家庭作业。伯克利当地班级的经验告诉我们,家庭作业1应该需要大约12小时,家庭作业2和3应该需要大约24小时。你的里程数可能会有所不同(秋季EdX课程的一名学生评论说,完成家庭作业的时间呈几何级数增长,家庭作业0、1、2、3的时间约为1、3、9、27小时),但请提前计划。
不需要教科书,课程是免费的。我们发布了一些免费OpenGL和GLSL教程的链接;您可以在线搜索许多其他教程。您可以使用任何支持图形卡(GPU)上的可编程着色器的计算机系统。过去5-10年制造的大多数计算机(包括膝上型计算机)都满足这一要求。更准确地说,您的显卡必须至少支持GLSL版本120(OpenGL 2.1)。*几乎所有NVIDIA或ATI GPU都是如此,但一些旧的集成显卡(英特尔GMA 950或类似产品)可能无法正确运行家庭作业。考虑到系统的多样性,这只应作为指导方针;您可以通过做作业0来测试您的机器。
您可以与同学讨论您的作业和课堂材料;事实上,我们鼓励您这样做(不过,请避免在论坛上使用剧透和露骨的代码!)。然而,所有提交的作品必须是你自己的,并且你必须自己编写所有的程序(不能从同学那里复制代码,不能复制班级以前的实例,也不能复制在线资源)。您必须只提交由您的程序实际生成的图像进行评分。您必须遵守edX荣誉准则。请不要在外部网站或社交媒体上发布您的源代码或程序。特别是,不要将源代码发布到GitHub或类似站点上的公共存储库;使用私有/不可搜索的存储库,或者干脆不使用GitHub。
公告将发布在更新和新闻部分。我们的主要交流渠道将是我们的互动论坛,在那里,学生和教职员工都将为正在进行的课程材料讨论做出贡献。
拉维·拉马莫奥蒂是加州大学伯克利分校的教授。他曾在斯坦福大学、哥伦比亚大学和加州大学伯克利分校教授计算机图形学超过10次,并因其研究而荣获多个奖项,包括ACM SIGGRAPH重要新研究员奖和白宫颁发的PECASE(总统科学家和工程师早期职业奖)。
伯克利的学生尼古拉斯·埃斯托加(Nicholas Estorga)和布兰登·王(Brandon Wang)在开发课程中使用的自动评分机和其他材料方面做了大量工作。前伯克利CS 184学生格雷格·德姆洛(Greg Dehmlow)将主持讨论论坛。*本课程以前的本地和在线迭代的一些社区助教也将在论坛上回答问题。