我应该根据自己的需求选择哪种OpenGL版本?

时间:2013-11-20 12:09:36

标签: java opengl rendering

我正在使用LWJGL库创建一个显示器,显示器上的渲染由OpenGL完成。
我几乎不了解OpenGL,我学会了在版本中使用一些基本方法1.1,但是在我被告知不建议使用这个版本的OpenGL之前我问过的一个问题(自1.1以来是1997年)。所以我的主要问题是我应该选择和学习哪些OpenGL版本?我正在开发一款2D游戏,我希望游戏能够在几乎每台计算机上运行。我需要知道哪个版本不是太老而且工作正常。

我正在探索互联网但仍未找到答案.. 如果你能提供一些不错的资源。

1 个答案:

答案 0 :(得分:1)

人们说“不使用旧的OpenGL版本”的原因是因为孔固定功能管道已被弃用,不应该使用它并且速度太慢。

这是一个很棒的Google文档电子表格,其中包含大多数OpenGL函数以及是否弃用等等。

请注意,电子表格是由使用OpenGL的人定制的,而不是由制作和开发OpenGL的人创建的。

  

所以我的主要问题是我应该选择和学习哪些OpenGL版本?我正在开发一款2D游戏,我希望游戏能够在几乎每台计算机上运行。我需要知道哪个版本不是太老而且运行良好。

我会说使用版本3.x或更高版本。然后大多数计算机都可以运行你的程序,因为版本3.0是在2008年发布的。

通过使用较新版本的OpenGL,您将能够使用很多东西,如VBO,VAO,FBO,着色器等等。另外,如果不使用glBegin()glEnd()这样的固定功能管道功能,也可以大大提升帧数。

虽然如果你想支持所有计算机,甚至是拥有古老计算机的人。然后我会说最好的方法就是实现多种方式来做不同的事情。当你想要渲染某些东西时,如果计算机支持VAO使用它们,如果它不支持它们,那么就不要使用它们等。

附加

OpenGL发布日期

以下是不同OpenGL版本的发布日期。

  • 1.1 - 1997年3月4日
  • 1.2 - 1998年3月16日
  • 1.2.1 - 1998年10月14日
  • 1.3 - 2001年8月14日
  • 1.4 - 2002年7月24日
  • 1.5 - 2003年7月29日
  • 2.0 - 2004年9月7日
  • 2.1 - 2006年7月2日
  • 3.0 - 2008年8月11日
  • 3.1 - 2009年3月24日
  • 3.2 - 2009年8月3日
  • 3.3 - 2010年3月11日
  • 4.0 - 2010年3月11日
  • 4.1 - 2010年7月26日
  • 4.2 - 2011年8月8日
  • 4.3 - 2012年8月6日
  • 4.4 - 2013年7月22日