{singhi}
🏷 tech
介绍
🌙 📅

既然你来到这里,可能是想了解计算机图形学的内部运作,并亲自做一些酷炫的事情。自己动手做事非常有趣且富有创造性,而且能让你深入理解图形编程。然而,在开始这段旅程之前,有几个事项需要考虑。

准备

由于 OpenGL 是一个图形 API,而不是一个独立的平台,它需要一个编程语言来运行,选择的语言是 C++。因此,在这些章节中,您需要具备一定的 C++编程语言基础。然而,我会尽量解释大部分概念,包括在必要时讲解一些高级 C++话题,因此不要求您成为 C++专家,但应该能够编写超过“Hello World”程序的代码。如果您对 C++经验不多,我可以推荐 www.learncpp.com 上的免费教程。

另外,我们在过程中会使用一些数学(线性代数、几何和三角学),我会尽量解释所需的所有数学概念。然而,我并不是一个天生的数学家,所以虽然我的解释可能易于理解,但很可能是不完全的。因此,在必要的地方,我会提供一些指向更完整解释该材料的优质资源。不要担心开始学习 OpenGL 之前需要掌握的数学知识;几乎所有的概念都可以通过基础的数学背景理解,我会尽量将数学内容保持在最低限度。大多数功能的使用并不要求你完全理解所有的数学内容,只要知道如何使用它就行。

结构

LearnOpenGL 被分为若干个大致的章节。每个章节包含几个小节,详细解释不同的概念。每个小节可以在左侧菜单中找到。概念是按照线性顺序进行讲解的(因此建议从上到下开始学习,除非另有说明),每个章节都解释了相关的背景理论和实践内容。

为了让概念更易于理解,并为其增添一些结构,书中使用了框框、代码块、颜色提示和函数参考等方式。

框框

绿色框框包含一些关于OpenGL或当前主题的注释或有用的功能/提示。
红色框框包含警告或其他需要特别小心的内容。

代码

由于这些只是代码片段,在必要时我会提供链接,指向某个主题所需的完整源代码。

你将在网站上找到许多小段代码,这些代码位于深灰色框框中,并且具有语法高亮,如下所示:

// code

颜色提示

一些词语会以不同的颜色显示,以便更清楚地表明这些词语具有特殊含义:

定义:绿色词语指定一个定义,即某个重要的方面/名称,是你可能会经常听到的。 程序结构:红色词语指定函数名称或类名。 变量:蓝色词语指定变量,包括所有 OpenGL 常量。

OpenGL 函数参考

LearnOpenGL 的一个特别受欢迎的功能是能够在内容中查看大部分 OpenGL 函数的文档。每当在内容中找到一个已在网站上记录的函数时,该函数会带有一个稍微明显的下划线。你可以将鼠标悬停在函数上,稍等片刻后,会弹出一个窗口,显示关于该函数的相关信息,包括该函数实际执行的操作的概述。将鼠标悬停在 glEnable 上以查看其实际效果。

现在你对网站的结构有了一些了解,赶快跳转到“Getting Started”部分,开始你的 OpenGL 之旅吧!