awesome-computer-graphics:基于计算机图形学的学习资源集合项目

:small_red_triangle::sunglasses: A curated list of awesome stuff to learn computer graphics

分支1Tags0
文件最后提交记录最后更新时间
7 年前
7 年前
7 年前
6 年前
7 年前
7 年前
7 年前

非凡计算机图形学

Awesome

Awesome

这是一个壮观的计算机图形学资源列表!包括书籍、教程、在线课程等各种学习资料。无论你想了解哪个图形学话题,这个清单很可能已经涵盖了一些相关内容(如果没有,将来也会有的)。

如果你想贡献内容,请阅读贡献指南

目录

  1. 什么是计算机图形学?
  2. 如何开始?
  3. 我想学习更高级的内容
  4. 书籍
  5. 工具
  6. 课程
  7. 网站

什么是计算机图形学?

简单来说,计算机图形学是一门关于如何使用计算机创建图像的知识领域。通常是通过处理表示要绘制信息的数据来实现,比如:物体、颜色、光线。任何涉及视觉和数字创作的事物都以某种方式使用了CG技术,如游戏、电影等。

如何开始?

在展示众多书籍、视频和材料之前,首先你需要知道入门计算机图形学的基本要求。这主要涉及两个主题:编程和数学。对于编程,需要掌握基础,推荐学习C/C++,因为这两种语言在这个领域中经常被使用。关于数学,需要学习线性代数和几何,本清单中有一些专注于CG基础数学的书籍,选择一本并深入学习。

我想学习更高级的东西

假设你掌握了编程和数学,那么你可以变得更实践。一个好方法是选择一个项目,比如全局照明或GPU编程,以此加深对这一领域的理解。例如:路径追踪器、光子映射、着色器编程。推荐的项目有:《物理基础渲染》(PBRT)书中的光线追踪器,以及《使用光子映射的真实感图像合成》中带有光子映射的光线追踪器。此外,观看Shader Toy的教程并在其中尝试也是个好主意。

书籍

工具

  • OpenGL,最流行的图形API之一。
  • Vulkan,由OpenGL团队创建,旨在提供性能优于其前身的API。
  • Bonzomatic,用于OpenGL像素着色器的实时编码编辑器,你在编辑代码时,结果会立即显示在后台。

课程

网站资源

  • ScratchAPixel (链接): 提供从基础到高级的图像渲染教程。
  • Learn OpenGL (链接): 教程网站,按主题组织,提供代码示例,并有内容的PDF版本。
  • OpenGL Tutorial (链接): 学习OpenGL 3.3及以上版本的教程。
  • Learn Vulkan (链接): 介绍现代API的教程,由创建OpenGL的同一团队开发。
  • Shader Toy (链接): 创建、可视化和分享GLSL着色器的平台。
  • 实时渲染推荐书籍 (链接): 实时渲染网站推荐的一系列书籍列表。
  • Jendrik Illner的博客 (链接): 就职于育碧的3D程序员,每周发布关于3D图形的文章摘要,包括着色器教程、实时渲染论文等内容。
  • Ray Tracey的博客 (链接): Sam Lapere的博客,负责EPFL蓝脑项目的科研团队,大量关于实时渲染的帖子。
  • Iñigo Quilez的个人网站 (链接): 文章与着色器演示,他是ShaderToy的共同创始人之一。

项目/代码库

  • PBRT源码 (链接): “物理为基础的渲染:从理论到实践”第三版所述的渲染器的源代码。
  • Tiny Renderer (链接): 通过教授OpenGL和渲染原理,指导构建简化版OpenGL的计算机图形课程。
  • 周末完成的光线追踪项目 (链接): 基于《周末完成的光线追踪》一书的光线追踪器代码。
  • Fragmentarium (链接): 编辑和可视化GLSL着色器的程序,专注于分形和生成系统。
  • 名片大小的光线追踪器 (链接): 名如其物,一个极小的光线追踪器,仅35行(压缩后),文件大小1377字节。
  • SmallPT (链接): 用99行C++编写的路径追踪器。
  • 大理石迷宫 (链接): 通过尽可能快地引导大理石穿过分形关卡到达终点的游戏,完全基于光线行进技术实现,展现出许多非传统光线追踪效果。
  • 3D游戏着色器入门 (链接): 指导如何在你的3D游戏中实现SSAO、景深、光照、法线贴图等功能的逐步指南。

杂项

  • 黑客新闻学习计算机图形讨论 (链接): 讨论如何学习计算机图形的帖子,如果时间有限,可直接阅读此评论
  • 计算机颜色出了问题 (视频链接): 讲解计算机中颜色表示与压缩如何扭曲模糊效果的视频。
  • The Art of Code频道 (链接): 使用ShaderToy的着色器教程,多为过程生成相关视频。

许可证

CC0

依据法律允许的最大范围,Luis Santos放弃了对此作品的所有版权及相关邻接权利。

项目介绍

:small_red_triangle::sunglasses: A curated list of awesome stuff to learn computer graphics

定制我的领域
111.03 K73访问 GitHub