多亏了LWJGL(LightWeight Java游戏库),我可以访问大量静态OpenGL类。但是,有人认为我不明白是为什么要使用特定版本。在LWJGL 3 Wiki中,他们说:
静态类GL11,GL12,GL13,GL20,GL21,GL22,...可以用于某些GL版本的访问功能,其中GL11对应于OpenGL 1.1,而GL20对应于OpenGL 2.0
我知道每个类都是OpenGL的不同版本,但是我经常看到许多教程,根据它们的工作,它们将使用不同的类,并在同一函数中在GL11,GL13等之间进行切换。为了一致性起见,在各处使用相同的类会更安全吗?当GL41可用时,为什么还要继续使用GL11?因为它是最新版本,所以它不会更快吗?
LWJGL Wiki似乎已过期。它指出:
请注意,只有在特定OpenGL版本中添加的功能才在GLXX类中(例如,OpenGL 1.2中的OpenGL 1.2中的功能在GL11中,而不是GL12中)
重点已添加。LWJGL 2.x确实如此。这意味着您必须通过访问1.1函数GL11
,即使就OpenGL规范而言,该函数也将在4.6版本中可用。
在LWJGL 3.x中,从技术上讲,这仍然是正确的,因为每个GLXX
类仅定义添加到该特定版本的功能。但是,在LWJGL 3.x中,所有版本化类都继承自先前版本。因此,尽管在GL11
类中仍定义了1.1函数,但可以从任何更高版本访问它们。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句