我使用 OpenGL 已经有一段时间了,几乎每次我用 glsl 着色器创建一些程序时,它在许多机器上的作用都不同。现在我猜这是因为有些机器部分或完全不支持它们。我想知道我可以用什么来确保至少对 OpenGL 2.1+ 有尽可能多的兼容性,并且仍然使用像着色器这样的好东西,而不是使用像立即模式这样的固定管道。
我还注意到,在两台都支持 OpenGL 3.2 和使用 OpenGL 3.2 函数的机器上,结果是不同的。一台有工件,一台没有。
我可以做什么/使用什么来确保最大的兼容性,而无需在十亿台机器上进行测试以确保它可以正常工作并且我不必为特定机器修复东西?
编辑:所以为了缩小问题的范围,在 OpenGL 2.1 中最先进的渲染方式是什么?我可以在那个版本中使用着色器吗?