如何在桌面上创建 OpenGL ES 2 上下文?
How to create OpenGL ES 2 context on Desktop?
是否可以在桌面 linux 上创建 OpenGL ES 2 上下文?
我的上下文相关代码是这样的:
int context_attribs[] =
{
GLX_CONTEXT_MAJOR_VERSION_ARB, 4,
GLX_CONTEXT_MINOR_VERSION_ARB, 5,
GLX_CONTEXT_PROFILE_MASK_ARB, GLX_CONTEXT_ES2_PROFILE_BIT_EXT,
None
};
ctx = glXCreateContextAttribsARB( display, bestFbc, 0,
True, context_attribs );
但是失败了。
然而这成功了:
int context_attribs[] =
{
GLX_CONTEXT_MAJOR_VERSION_ARB, 4,
GLX_CONTEXT_MINOR_VERSION_ARB, 5,
GLX_CONTEXT_PROFILE_MASK_ARB, GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB,
None
};
我做错了什么?
我正尝试在 Fedora 22 x86_64 上使用 NVIDIA GTX 750 Ti GPU 执行此操作。
更新
这是根据以下答案创建 OpenGL ES 2.0 上下文的工作代码:
您正在请求不存在的 OpenGL ES 4.5 版上下文。来自 GLX_EXT_create_context_es2_profile
extension spec:
If the version requested is a valid and supported OpenGL-ES version,
and the GLX_CONTEXT_ES_PROFILE_BIT_EXT
bit is set in the
GLX_CONTEXT_PROFILE_MASK_ARB
attribute (see below), then the context
returned will implement the OpenGL ES version requested.
GLX_CONTEXT_ES2_PROFILE_BIT_EXT
实际上是一种转移注意力的东西:
Version 3, 2012/03/28
- Add support for any OpenGL-ES version, not
just version 2.0. Alias
GLX_CONTEXT_ES2_PROFILE_BIT_EXT
with
GLX_CONTEXT_ES_PROFILE_BIT_EXT
and the extension name
GLX_EXT_create_context_es2_profile
with
GLX_EXT_create_context_es_profile
.
所以它 select 配置文件中根本没有版本,版本和配置文件正交工作...
是否可以在桌面 linux 上创建 OpenGL ES 2 上下文?
我的上下文相关代码是这样的:
int context_attribs[] =
{
GLX_CONTEXT_MAJOR_VERSION_ARB, 4,
GLX_CONTEXT_MINOR_VERSION_ARB, 5,
GLX_CONTEXT_PROFILE_MASK_ARB, GLX_CONTEXT_ES2_PROFILE_BIT_EXT,
None
};
ctx = glXCreateContextAttribsARB( display, bestFbc, 0,
True, context_attribs );
但是失败了。
然而这成功了:
int context_attribs[] =
{
GLX_CONTEXT_MAJOR_VERSION_ARB, 4,
GLX_CONTEXT_MINOR_VERSION_ARB, 5,
GLX_CONTEXT_PROFILE_MASK_ARB, GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB,
None
};
我做错了什么?
我正尝试在 Fedora 22 x86_64 上使用 NVIDIA GTX 750 Ti GPU 执行此操作。
更新
这是根据以下答案创建 OpenGL ES 2.0 上下文的工作代码:
您正在请求不存在的 OpenGL ES 4.5 版上下文。来自 GLX_EXT_create_context_es2_profile
extension spec:
If the version requested is a valid and supported OpenGL-ES version, and the
GLX_CONTEXT_ES_PROFILE_BIT_EXT
bit is set in theGLX_CONTEXT_PROFILE_MASK_ARB
attribute (see below), then the context returned will implement the OpenGL ES version requested.
GLX_CONTEXT_ES2_PROFILE_BIT_EXT
实际上是一种转移注意力的东西:
Version 3, 2012/03/28
- Add support for any OpenGL-ES version, not just version 2.0. Alias
GLX_CONTEXT_ES2_PROFILE_BIT_EXT
withGLX_CONTEXT_ES_PROFILE_BIT_EXT
and the extension nameGLX_EXT_create_context_es2_profile
withGLX_EXT_create_context_es_profile
.
所以它 select 配置文件中根本没有版本,版本和配置文件正交工作...