我正在使用OpenGL版本4.5.0并收到此错误:
error: ‘glEnableClientState’ was not declared in this scope
我已经读过在这个版本中不推荐使用glEnableClientState
,但我需要编写与此方法兼容的代码,因为这是来自类的home分配,它们要求我们使用此方法编写。我有什么方法可以在OpenGL 4.5.0中使用它?
包括这个没有效果:
glutInitContextVersion (3,3);
glutInitContextProfile (GLUT_COMPATIBILITY_PROFILE);
答案 0 :(得分:1)
glEnableVertexAttribArray和glVertexAttribPointer是glEnableClientState / glVertexPointer的“现代”替代品。自GL 2.0以来,新的通用变体已经上市。
答案 1 :(得分:1)
glutInitContextProfile (GLUT_CORE_PROFILE);
这与你需要做的事情相反。如果您需要兼容OpenGL功能,则必须使用GLUT_COMPATIBILITY_PROFILE
。
然而:
错误:'glEnableClientState'未在此范围内声明
这表示您使用的OpenGL loading library甚至不会声明此功能。这意味着您需要转移到可以公开兼容性配置文件OpenGL功能的那个。