opengl 3.3 / glow 1.9 VBO支持返回false
opengl 3.3 / glew 1.9 VBO support returns false
我建立了一个简单的OpenGL窗口,并检查了它的支持。返回的支持:
-
GLEW: 1.9.0
-
OpenGL: 3.3.0
我遇到的问题是由于创建形状(VBO)。在根据教程创建形状时,我无法将图像(一个简单的三角形)显示到屏幕上。实现这一点的唯一方法是使用即时模式或基本顶点阵列。
我询问了关于使用GLEW检查vbo支持的问题,但是我找到的所有建议,例如:
if ( glewGetExtension("GL_VERSION_1_9")
&& glewGetExtension( "GL_ARB_vertex_buffer_object" ))
{
std::cout << "VBO supported." << std::endl;
}
else
{
std::cerr << "ARB_vertex_buffer_object not supported!" << std::endl;
}
返回false。
有什么建议吗?
停止检查ARB_vertex_buffer_object
。实际上,停止使用 ARB_vertex_buffer_object。使用核心功能,而不是扩展功能。如果你要求的是OpenGL 3.3版本,那么你在core中有缓冲对象功能。使用。
glewGetExtension("GL_VERSION_1_9")
没有这样的扩展。也没有OpenGL 1.9版本,所以我不知道为什么你会这样检查它。
如果你想检查OpenGL版本,你应该使用OpenGL功能来做:
GLint major = 0;
GLint minor = 0;
glGetIntegerv(GL_MAJOR_VERSION, &major);
glGetIntegerv(GL_MINOR_VERSION, &minor);
弄清楚为什么我得到错误。问题是我在创建窗口之前检查了辉光。所以我在添加了条件之后创建了窗口,一切都开始正常工作。为了防止有人遇到这个问题,在创建窗口后调用glewInit()
。
相关文章:
- 来自 std::list 的迭代器 .end() 按预期返回"0xcdcdcdcdcdcdcdcd"但 .begin()
- 编译时未启用intel oneApi CUDA支持
- 什么时候在C++中返回常量引用是个好主意
- 你能重载对象变量名本身返回的内容吗
- 为什么 Serial.println(<char[]>);返回随机字符?
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- 如何获取std::result_of函数的返回类型
- QueryWorkingSet总是返回false
- (C++)分析树以计算返回错误值的简单算术表达式
- 如果创建支持返回可变参数类型列表的通用模板 API,我应该使用 std::tuple 还是其他东西?
- 为什么C 模板功能不支持返回指针
- createProcessWithLogon返回不支持的函数
- vkCreateImage 返回VK_ERROR_INITIALIZATION_FAILED尽管支持
- 为什么 gcc-4.9.2 不能支持 std::string.insert(迭代器,范围)返回迭代器
- glGetString(GL_VERSION)返回1.1.0,尽管该卡支持2.1
- 是否有任何 ATL 支持的宏可以检查 hResults 并返回值
- C++11 标准中的哪个子句支持在下面的函数 foo() 的返回中调用移动构造函数
- 如何编写支持adl的尾随返回类型或noexcept规范
- opengl 3.3 / glow 1.9 VBO支持返回false
- fmod音频.setMusicSpeed返回不支持的格式错误