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

18-习题

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

习题

4.1 (项目)修改程序4.1以使用你自己设计的其他简单3D形状替换立方体。请务必在glDrawArrays()命令中正确指定顶点数。

4.2 (项目)在程序4.1中,在display()函数中“view”矩阵被简单地定义为摄像机位置的负数:

vMat = glm::translate(glm::mat4(1.0f), glm::vec3(-cameraX, -cameraY, -cameraZ));

将此代码替换为图3.13所示的计算实现。这将允许你通过指定摄像机位置和3个朝向轴来定位摄像机。你将发现有必要存储3.7节中描述的向量UVN。然后,尝试不同的摄像机视点,并观察渲染立方体的最终外观。

4.3 (项目)修改程序4.4以包含第二个“行星”,使用练习4.1中你自定义的3D形状。确保你的新“行星”处于与现有行星不同的轨道上,这样它们就不会发生碰撞。

4.4 (项目)修改程序4.4,使用“查看”函数构建“视图”矩阵(如第3.9节所述)。然后尝试将“查看”参数设置到不同的位置,例如查看太阳(在这种情况下场景应该看起来正常),查看行星或查看月球。

4.5 (研究)提出glCullFace(GL_FRONT_AND_BACK)的实际用途。