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。我也更喜欢自己实现一个圆柱体。特别是因为它有一个简单的参数形式(一堆圆圈)。有趣的是,我正在帮助其他人排空气瓶。也许你也觉得这很有趣:
虽然我知道 gluCylinder 有点旧(glu 也一样)并且过剩仍然存在(通过 freeglut)但是我看到了这两个并且想知道有什么区别?除了 gluCylinder 需要你定义一个二次曲面,还有什么更快? .
原来的GLUT没有glutSolidCylinder()
的功能。这似乎是 FreeGLUT 添加的内容。
gluCylinder
优点:
- 支持纹理坐标生成。
缺点:
- GLU 旧。我的意思是,真的很老。该规范最后一次更新是在 1998 年,我怀疑可用的实现也一样旧。这意味着它使用即时模式渲染 (
glBegin
/glEnd
) 风格,这种风格效率低下,并且在现代版本的 OpenGL 中不再可用。 - GLU 支持开始从某些平台上消失。
glutSolidCylinder
优点:
- 只要您习惯使用 FreeGLUT,它仍然受到支持,并提供源代码。
- FreeGLUT 版本似乎能够使用适度的现代渲染方法 (VBO),基于浏览 source code。
缺点:
- 不生成纹理坐标。这绝对不支持 GLUT 中的大多数固体,据我所知,在 FreeGLUT 中仍然不支持圆柱体。
自制
渲染圆柱体非常简单。就个人而言,我会自己写。
我同意@Reto。我也更喜欢自己实现一个圆柱体。特别是因为它有一个简单的参数形式(一堆圆圈)。有趣的是,我正在帮助其他人排空气瓶。也许你也觉得这很有趣: