Opengl gluCylinder vs GluSolidCylinder

Opengl gluCylinder vs GluSolidCylinder,opengl,freeglut,glu,Opengl,Freeglut,Glu,虽然我知道gluCylinder有点老了(还有glu),而且glut仍然存在(通过freeglut),但我看到了这两个,想知道有什么区别?除此之外,圆柱体需要定义一个二次曲面,什么更快 原始GLUT没有glutSolidCylinder()功能。这似乎是FreeGLUT补充的 gluCylinder 优点: 支持纹理坐标生成 缺点: GLU是旧的。我是说,真的很老了。该规范上一次更新是在1998年,我怀疑可用的实现也同样古老。这意味着它使用的是即时模式渲染(glBegin/glEnd)风格

虽然我知道gluCylinder有点老了(还有glu),而且glut仍然存在(通过freeglut),但我看到了这两个,想知道有什么区别?除此之外,圆柱体需要定义一个二次曲面,什么更快

原始GLUT没有
glutSolidCylinder()
功能。这似乎是FreeGLUT补充的

gluCylinder
优点:

  • 支持纹理坐标生成
缺点:

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

优点:

  • 只要您对使用FreeGLUT感到满意,它仍然是受支持的,并且有可用的源代码
  • FreeGLUT版本似乎能够基于浏览页面使用适度现代的渲染方法(VBO)
缺点:

  • 不生成纹理坐标。对于GLUT中的大多数固体,这是绝对不受支持的,而就我所知,对于FreeGLUT中的圆柱体,这仍然是不受支持的
自制的
渲染圆柱体非常容易。就我个人而言,我会自己写。

最初的GLUT没有
glutSolidCylinder()
函数。这似乎是FreeGLUT补充的

gluCylinder
优点:

  • 支持纹理坐标生成
缺点:

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

优点:

  • 只要您对使用FreeGLUT感到满意,它仍然是受支持的,并且有可用的源代码
  • FreeGLUT版本似乎能够基于浏览页面使用适度现代的渲染方法(VBO)
缺点:

  • 不生成纹理坐标。对于GLUT中的大多数固体,这是绝对不受支持的,而就我所知,对于FreeGLUT中的圆柱体,这仍然是不受支持的
自制的
渲染圆柱体非常容易。就个人而言,我会自己写。

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


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