首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在GLX中获取当前GLXFBConfig

在GLX中获取当前GLXFBConfig
EN

Stack Overflow用户
提问于 2022-10-18 00:20:53
回答 1查看 26关注 0票数 0

在使用xlib生成OpenGL上下文时,我可以获得可视化、可视化ID等,但是OpenXR需要一个GLXFBConfig才能工作。但我不知道如何为当前活动的可视化获取GLXFBConfig。有什么想法吗?

glXGetVisualFromFBConfig似乎做了相反的事情,因为它让我从GLXFBConfig上看到了它。但我的代码通过这种方式可靠地找到了正确的视觉效果。还有别的路可以走吗?

代码语言:javascript
复制
        int attribs[] = { GLX_RGBA,
                GLX_DOUBLEBUFFER,
                GLX_RED_SIZE, 1,
                GLX_GREEN_SIZE, 1,
                GLX_BLUE_SIZE, 1,
                GLX_DEPTH_SIZE, 1,
                None };
        XVisualInfo * vis = glXChooseVisual(CNFGDisplay, screen, attribs);
        CNFGVisual = vis->visual;
        CNFGVisualID = vis->visualid;
        CNFGWinAtt.depth = vis->depth;
        CNFGCtx = glXCreateContext( CNFGDisplay, vis, NULL, True );
EN

回答 1

Stack Overflow用户

发布于 2022-10-18 02:16:20

我认为@genp断层的解决方案是可行的,但是我决定使用glXChooseFBConfig方法来代替,这样它就匹配了,因为实际上选择我想要的东西并不难。

代码语言:javascript
复制
int attribs[] = { 
    GLX_RENDER_TYPE, GLX_RGBA_BIT,
    GLX_DOUBLEBUFFER, True,
    GLX_RED_SIZE, 1,
    GLX_GREEN_SIZE, 1,
    GLX_BLUE_SIZE, 1,
    GLX_DEPTH_SIZE, 1,
    None };
int elements = 0;
GLXFBConfig * cfgs = glXChooseFBConfig( CNFGDisplay, CNFGScreen, attribs, &elements );
if( elements == 0 )
{
    fprintf( stderr, "Error: could not get valid GLXFBConfig visual.\n" );
    exit( -1 );
}
CNFGGLXFBConfig = cfgs[0];
XVisualInfo * vis = glXGetVisualFromFBConfig( CNFGDisplay, CNFGGLXFBConfig );
CNFGVisual = vis->visual;
CNFGVisualID = vis->visualid;
CNFGDepth = vis->depth;
CNFGCtx = glXCreateContext( CNFGDisplay, vis, NULL, True );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74104449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档