当前位置:嗨网首页>书籍在线阅读

19-参考资料

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

参考资料

[BL16] Blender, The Blender Foundation, accessed October 2018.

[HT16] J. Hastings-Trew, JHT’s Planetary Pixel Emporium, accessed October 2018.

[MA16] Maya, AutoDesk, Inc., accessed October 2018.

[NA16] NASA 3D Resources, accessed October 2018.

[OL16] Legacy OpenGL, accessed July 2016.

[SW15] G. Sellers, R. Wright Jr., and N. Haemel, OpenGL SuperBible: Comprehensive Tutorial and Reference, 7th ed. (Addison-Wesley, 2015).

[1] 在这个例子中,我们声明了两个缓冲区,以强调我们常常会用到多个缓冲区。后面我们会用到额外的缓冲区来存储顶点相关的其他信息,比如颜色。现在,我们只用到了一个声明的缓冲区,所以如果只声明一个VBO也是足够的。

[2] 请注意,这里,我们第一次避免描述一个或多个OpenGL调用中的每一个参数。如第2章所述,我们建议读者根据需要利用OpenGL文档来获取此类详细信息。

[3] 精明的读者可能会注意到,并不需要每次调用display()时都构建透视矩阵,因为它的值不会改变。这在一部分情况下是正确的——如果用户在程序运行时调整窗口大小,则需要重新计算透视矩阵。在4.11节中,我们将更有效地处理这种情况,并且在此过程中,我们会将透视矩阵的计算从display()移到init()函数。

[4] 通常,这些调用可以放在init()而不是display()中。但是,在绘制具有不同属性的多个对象时,必须将其中一个或多个放在display()中。为简单起见,我们总是将它们放在display()中。

[5] 是的,我们知道月球并不沿着这种“垂直”轨道绕地球旋转,而是围绕地球绕太阳旋转的共面。我们选择这个轨道使我们的程序执行更容易理解。