gluCylinder 与 glutSolidCylinder

gluCylinder vs glutSolidCylinder

虽然我知道 gluCylinder 有点旧(glu 也一样)并且过剩仍然存在(通过 freeglut)但是我看到了这两个并且想知道有什么区别?除了 gluCylinder 需要你定义一个二次曲面,还有什么更快? .

原来的GLUT没有glutSolidCylinder()的功能。这似乎是 FreeGLUT 添加的内容。

gluCylinder

优点:

  • 支持纹理坐标生成。

缺点:

  • GLU 。我的意思是,真的很老。该规范最后一次更新是在 1998 年,我怀疑可用的实现也一样旧。这意味着它使用即时模式渲染 (glBegin/glEnd) 风格,这种风格效率低下,并且在现代版本的 OpenGL 中不再可用。
  • GLU 支持开始从某些平台上消失。

glutSolidCylinder

优点:

  • 只要您习惯使用 FreeGLUT,它仍然受到支持,并提供源代码。
  • FreeGLUT 版本似乎能够使用适度的现代渲染方法 (VBO),基于浏览 source code

缺点:

  • 不生成纹理坐标。这绝对不支持 GLUT 中的大多数固体,据我所知,在 FreeGLUT 中仍然不支持圆柱体。

自制

渲染圆柱体非常简单。就个人而言,我会自己写。

我同意@Reto。我也更喜欢自己实现一个圆柱体。特别是因为它有一个简单的参数形式(一堆圆圈)。有趣的是,我正在帮助其他人排空气瓶。也许你也觉得这很有趣: