如何解决如何读取系统的 openGL 常量
我收到的开放 GL 错误似乎与 MAX_VERTEX_UNIFORM_COMPONENTS_ARB
相关联。 (如答案 here
是什么决定了这个常量(图形硬件、图形驱动程序、openGL 版本?),以及如何在 Linux(nvidia 硬件)下检查它的值?
解决方法
此限制与使用的 gfx 硬件及其驱动程序有关。在 OpenGL 中,您可以使用以下方法在 CPU 端获取此类值:
GLint x;
glGetIntegerv(GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB,&x);
关于我的设置:
Vendor: NVIDIA Corporation
OpenGL 4.5.0 NVIDIA 368.22
Render: GeForce GTX 550 Ti/PCIe/SSE2
它返回:
max vertex uniform components: 4096
为了使用它,您需要使用 OpenGL 1.0 或更好的上下文,并知道所查询内容的数值。这通常存储在 gl.h
或 glext.h
中,在您的情况下是后者,如果您不想包含 glext.h
,只需在使用前将其添加到您的代码 (C++) 中:>
#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。