Learn WebGL
学习一个学科,传统的方式是通过学习一个又一个子主题,然后再研究每个子主题之间是如何联系在一起的。还有另外一种方式,那就是从宏观的图景入手,再开始学习组成整个复杂知识网络的每一个子模块,对每个子模块的学习会从基本的概念开始,并尝试避免任何对学生前置知识的假设。
为什么要学习WebGL?非常简单,因为它是我们拥有的唯一跨平台解决方案,可用于生成实时的三维计算机图形。
- 您可以学习由微软制作的专有系统Direct3D,但是您将受到仅能在基于Microsoft操作系统的计算机上运行您的软件的限制。
- 您也可以学习跨平台的OpenGL,但OpenGL没有明确的方式来与操作系统的用户界面进行交互。
WebGL是OpenGL的一个派生版本,可以在包括平板电脑和手机浏览器在内的所有现代网页浏览器上执行。因此,当您学习WebGL时,您就是在学习OpenGL在几乎所有现代计算设备上的应用。这真的很酷!!!
本教程是按照模块间依赖的顺序设计的。
我们从“宏观视角”开始,展示任何WebGL网页的关键子模块。然后,我们将单独的子模块细节进行分离,并试图理解为什么它是这样设计的以及它是如何工作的。
注意:WebGL需要编程,我们鼓励您在学习的每个阶段尝试使用示例代码进行实验。良好的编程实践应该采用增量开发周期。您可以从一个简单的可工作程序开始开发,并使用一个简单的实现/测试,实现/测试,实现/测试的循环,直到达到您的目标。几乎从来不应该“从头开始”编写一个复杂的WebGL程序。始终从一个可工作程序开始,逐渐增加复杂性。
这些课程的一个关键思想是,在学习新主题之前,您必须掌握之前的主题。如果您对一个话题的任何一个小部分感到困惑,那么您可能无法理解接下来更复杂的主题。因此,请花费足够的时间,在学习每个主题之前彻底掌握它。