代码之家  ›  专栏  ›  技术社区  ›  Derek Litz

OpenGL新增和弃用[已关闭]

  •  4
  • Derek Litz  · 技术社区  · 16 年前

    我已经开始使用pyopengl3.0.1b在Python中使用OpenGL。

    我看了一些示例代码,并开始运行它和修改它等。一切都很好,直到我变得不那么无知。

    http://pyopengl.sourceforge.net/documentation/manual-3.0/index.xhtml 将列出OpenGL函数以及它们是否已弃用。所以我对自己说,我必须找到一些最新的教程,这些教程不使用这些不推荐的废话。

    几个小时后,没有这样的运气!不推荐的示例代码之后是不推荐的示例代码。。。有没有什么地方可以让我学习不推荐的教程?

    3 回复  |  直到 16 年前
        1
  •  2
  •   AdilYalcin    16 年前

    OpenGL ES 2.0实际上与OpenGL 3非常相似,删除了一些功能(如多个渲染目标、一些着色器指令等)。OpenGLES2.0编程指南有一些教程和源代码可供下载,可以帮助您开始使用OpenGL3.0。ES2.0中编译的内容也将编译为更新的OpenGL规范,主要是。您也可以在线搜索ES 2.0教程。

    我还建议检查一下我正在开发的图形引擎( OpenREng ). 您可以查看OpenGL包装类,以查看新规范中支持的大部分功能。

        2
  •  3
  •   tomriddle_1234    14 年前

    感谢杰森L。麦克森

    这里没有弃用的代码、精彩的示例和教程(在OpenGL 3.3中)

    http://www.arcsynthesis.org/gltut/index.html

    还有一个没有太多解释的(在OpenGL4.x和3.3中)

    http://openglbook.com/the-book/

        3
  •  2
  •   David C. Bishop    14 年前

    首先学习顶点缓冲区对象和顶点数组对象。要删除glBegin、glEnd、glVertex3f、glColor4f、glNormal3f、glTexCoord2f等。。。

    学习手动矩阵变换以删除GLROTATIEF、GLTRANSPLATE、glPushMatrix、glPopMatrix、glMatrixMode、glLoadIdentity、GL_投影、GL_模型视图、glFrustum、glOrtho、GLLOOKATH、GLUPPERCEPTION、GLORTOR2。我建议大家看看glm,它是OpenGL站点在SDK中提到的。当您仍在非核心配置文件上使用固定功能组件时,可以使用glLoadMatrixf手动加载矩阵,稍后需要将矩阵绑定到着色器。

    学习基本的GLSL着色器。有些不推荐使用的gl_vertex、gl_normal、FTTransform()仍应与VBO配合使用,您可以使用它们,直到完全设置着色器绑定为止。

    然后执行所有着色器绑定,使用顶点属性而不是固定的gl_顶点和gl_位置。使用uniform上载modelview和投影矩阵,而不是ftTransform()。还有灯光和材质属性(我倾向于上传modelviewprojection,而不仅仅是projection,所以着色器不会每次都计算它)。