为什么我可以在OpenGL3环境中使用OpenGL4函数
我正在用freeglut制作一个运行在ubuntu上的应用程序。我使用了为什么我可以在OpenGL3环境中使用OpenGL4函数,opengl,Opengl,我正在用freeglut制作一个运行在ubuntu上的应用程序。我使用了glutInitContextVersion(3,3),当我调用glGetString(GL\u版本)时,函数返回3.3(核心配置文件)Mesa 10.3.2。但是我可以使用glTexStorage2D函数,该函数运行良好。Opengl参考页说明该函数与Opengl 4.2或更高版本兼容。为什么我可以使用这个功能?我使用“英特尔常春藤网桥i3”cpu和“英特尔GPU”如果上下文初始化成功,则仅表示您最终使用的版本与您请求的版
glutInitContextVersion(3,3)
,当我调用glGetString(GL\u版本)
时,函数返回3.3(核心配置文件)Mesa 10.3.2
。但是我可以使用glTexStorage2D
函数,该函数运行良好。Opengl参考页说明该函数与Opengl 4.2
或更高版本兼容。为什么我可以使用这个功能?我使用“英特尔常春藤网桥i3”cpu和“英特尔GPU”如果上下文初始化成功,则仅表示您最终使用的版本与您请求的版本兼容。这并不妨碍在幕后使用更高版本。至于版本字符串,由于兼容性原因,它可能只是对您撒谎,因为您请求的是较旧的上下文版本。如果上下文初始化成功,则仅表示您最终使用的版本与您请求的版本兼容。这并不妨碍在幕后使用更高版本。至于版本字符串,出于兼容性原因,它可能只是在欺骗您,因为您请求的是较旧的上下文版本。您可以使用该函数,可能是因为您的实现实现了ARB_纹理_存储。请参阅,ARB_纹理_存储的功能不会以ARB
结尾。它定义了与OpenGL 4.2完全相同的函数,具有完全相同的行为
这允许3.3实现实现从更高版本中选择功能,但无需使用不同的功能。没有必要让glTexStorageARB
与glTexStorage
具有不同的功能,因为它们的功能相同
这些类型的扩展称为“向后兼容性扩展”或“.”。您可以使用该函数,可能是因为您的实现实现了ARB\u纹理\u存储。请参阅,ARB_纹理_存储的功能不会以
ARB
结尾。它定义了与OpenGL 4.2完全相同的函数,具有完全相同的行为
这允许3.3实现实现从更高版本中选择功能,但无需使用不同的功能。没有必要让glTexStorageARB
与glTexStorage
具有不同的功能,因为它们的功能相同
这些类型的扩展称为“向后兼容扩展”或“.”FYI:版本字符串没有说谎。FYI:版本字符串没有说谎。