简介

你到这里来可能是想学习计算机图形的工作原理,并且自己做一些很酷的东西。自己做东西是非常有趣的,同样也能给你带来对图形编程的兴趣。然而,在你开始学习旅程之前,有这么几点注意事项。

前置知识

由于OpenGL是一个图形API,并不是一个独立的平台,它需要一个编程语言来工作,在这里我们使用的是C++。所以,对C++的熟练掌握在学习这个教程中是必不可少的。当然,我仍将尝试解释大部分用到的概念,包括一些高级的C++话题,所以,你并不一定要是一个C++专家才能来学习。不过,请确保你至少应该能写个比 ‘Hello World’ 复杂的程序。如果你对C++不是很熟悉,我推荐您学习一下www.learncpp.com上的免费教程。

除此之外,我们也将用到一些数学知识(线性代数、几何、三角学),同样我也会尝试解释所有的必备的数学概念。但是,毕竟我不是一个数学家,即使我的解释可能会很容易理解,但是这些解释都是不全面的。所以,在必须的时候我会链接一些不错的资料,它们会将这些概念解释的更加全面。不要被必须的数学知识吓到了,几乎所有的概念只要有基础的数学背景都可以理解。我也会将数学的内容压缩至极限。大部分的功能甚至都不需要你理解所有的数学知识,只要你会使用就行。

结构

LearnOpenGL被分解成了许多大的主题。每个主题包括一些小节,每个小节中会对不同的概念进行详细的解释。所有的主题都可以在目录中找到。这些主题是按照线性来学习的(所以建议从上到下来读,除非有特殊指示),每个页面将会解释每个概念的背景理论和实际操作。

为了让教程更容易理解,结构更鲜明,本站采用了方框代码块

方框

Important

绿色方框是一些注释或者是对于OpenGL或讨论主题有用的特性/提示。

Attention

红色方框是一些警告或者一些你需要特别注意的特性。

译注

蓝色方框是翻译时为了帮助读者理解附加的一些信息。

代码

你在网站中将会看到很多小片的代码,它们将会在下面这样的代码框中:

// 这个方框是代码

由于这样只提供了代码的片段,当需要的时候我会提供个链接到当前工程的源代码的。

颜色标记

有一些词语会以不同颜色显示出来,用来表示这些词语有不同的意义:

  • 定义:绿色的字是定义,即一个重要的概念或名称,这些词语你能经常见到。
  • 程序逻辑:红色的字是函数的名称或者是类名。
  • 变量:蓝色的字是变量,包括所有的OpenGL常量。

现在你应该对这个网站的结构有一些了解了,你现在可以进入「入门」这一章,开始你的OpenGL学习生涯吧!