OpenGL - OpenGL 2.1中实现的最先进的渲染方法是什么?

时间:2013-08-16 18:54:37

标签: java opengl shader

我一直在使用OpenGL已经有一段时间了,我注意到几乎每次我用glsl着色器创建一些程序它在许多机器上都有不同的效果。现在我猜这是因为有些机器不支持它们或完全。我想知道我可以使用什么来确保至少OpenGL 2.1+具有尽可能多的兼容性,并且仍然使用着色器之类的好东西而不使用像立即模式这样的固定管道。

另外我注意到在两台支持OpenGL 3.2且使用OpenGL 3.2功能的机器上,结果是不同的。一个有工件,一个没有......

我可以做什么/使用什么来确保最大的兼容性,而无需在十亿台机器上进行测试以确保它能够运行我不需要为特定机器修理的东西?

编辑:所以要缩小问题,在OpenGL 2.1中渲染最先进的方法是什么?我可以在该版本中使用着色器吗?

1 个答案:

答案 0 :(得分:1)

要回答这个问题并不容易。

我建议您使用您接受的最低版OpenGL。如果您的客户比OpenGL 4.4更有可能支持OpenGL 2.1,那么请坚持使用2.1。

如果您有更多的时间进行开发,您可以更高,当特定的OpenGL版本可用时,可以使用它。例如,当支持GL3.3时,则使用几何着色器。

一般来说,这取决于几个因素:

  • 您的可用开发时间(可以支持不同的版本,或者您只有一个时间)
  • 客户(客户硬件)
  • 需要高级图形(也许你不能低于GL3.3)
另一件事是GL驱动程序。以下a bit outdated link可以提供帮助...... one similar stack提问