既然你来到这里,可能是想了解计算机图形学的内部运作,并亲自做一些酷炫的事情。自己动手做事非常有趣且富有创造性,而且能让你深入理解图形编程。然而,在开始这段旅程之前,有几个事项需要考虑。
准备
由于 OpenGL 是一个图形 API,而不是一个独立的平台,它需要一个编程语言来运行,选择的语言是 C++。因此,在这些章节中,您需要具备一定的 C++编程语言基础。然而,我会尽量解释大部分概念,包括在必要时讲解一些高级 C++话题,因此不要求您成为 C++专家,但应该能够编写超过“Hello World”程序的代码。如果您对 C++经验不多,我可以推荐 www.learncpp.com 上的免费教程。
另外,我们在过程中会使用一些数学(线性代数、几何和三角学),我会尽量解释所需的所有数学概念。然而,我并不是一个天生的数学家,所以虽然我的解释可能易于理解,但很可能是不完全的。因此,在必要的地方,我会提供一些指向更完整解释该材料的优质资源。不要担心开始学习 OpenGL 之前需要掌握的数学知识;几乎所有的概念都可以通过基础的数学背景理解,我会尽量将数学内容保持在最低限度。大多数功能的使用并不要求你完全理解所有的数学内容,只要知道如何使用它就行。
结构
LearnOpenGL 被分为若干个大致的章节。每个章节包含几个小节,详细解释不同的概念。每个小节可以在左侧菜单中找到。概念是按照线性顺序进行讲解的(因此建议从上到下开始学习,除非另有说明),每个章节都解释了相关的背景理论和实践内容。
为了让概念更易于理解,并为其增添一些结构,书中使用了框框、代码块、颜色提示和函数参考等方式。
框框
代码
由于这些只是代码片段,在必要时我会提供链接,指向某个主题所需的完整源代码。
你将在网站上找到许多小段代码,这些代码位于深灰色框框中,并且具有语法高亮,如下所示:
// code
颜色提示
一些词语会以不同的颜色显示,以便更清楚地表明这些词语具有特殊含义:
定义:绿色词语指定一个定义,即某个重要的方面/名称,是你可能会经常听到的。 程序结构:红色词语指定函数名称或类名。 变量:蓝色词语指定变量,包括所有 OpenGL 常量。
OpenGL 函数参考
LearnOpenGL 的一个特别受欢迎的功能是能够在内容中查看大部分 OpenGL 函数的文档。每当在内容中找到一个已在网站上记录的函数时,该函数会带有一个稍微明显的下划线。你可以将鼠标悬停在函数上,稍等片刻后,会弹出一个窗口,显示关于该函数的相关信息,包括该函数实际执行的操作的概述。将鼠标悬停在 glEnable
上以查看其实际效果。
现在你对网站的结构有了一些了解,赶快跳转到“Getting Started”部分,开始你的 OpenGL 之旅吧!