未在OpenGL v4.5中声明glEnableClientState

时间:2016-10-23 13:45:43

标签: opengl

我正在使用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);

2 个答案:

答案 0 :(得分:1)

glEnableVertexAttribArrayglVertexAttribPointer是glEnableClientState / glVertexPointer的“现代”替代品。自GL 2.0以来,新的通用变体已经上市。

答案 1 :(得分:1)

glutInitContextProfile (GLUT_CORE_PROFILE);

这与你需要做的事情相反。如果您需要兼容OpenGL功能,则必须使用GLUT_COMPATIBILITY_PROFILE

然而:

  

错误:'glEnableClientState'未在此范围内声明

这表示您使用的OpenGL loading library甚至不会声明此功能。这意味着您需要转移到可以公开兼容性配置文件OpenGL功能的那个。