游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5880|回复: 4

请教:glXCreateWindow产生failed to create drawable的原因

[复制链接]

34

主题

70

帖子

76

积分

注册会员

Rank: 2

积分
76
发表于 2009-1-20 15:25:00 | 显示全部楼层 |阅读模式
    在linux下使用glx初始化opengl时发生的问题,在调用glXCreateWindow的时候总是出现failed to create drawable的错误。请教有哪些原因?

34

主题

70

帖子

76

积分

注册会员

Rank: 2

积分
76
 楼主| 发表于 2009-1-21 10:12:00 | 显示全部楼层

Re:请教:glXCreateWindow产生failed to create drawable的原因

我测试了即使最简单的glx程序也会发生错误。
下面是代码:
#include <X11/Xlib.h>
#include <GL/glx.h>

int main()
{
    Display *dsp = XOpenDisplay(0);
    int n;
    GLXFBConfig *fbcfg = glXChooseFBConfig(dsp, DefaultScreen(dsp), 0, &n);
    XVisualInfo *vis = glXGetVisualFromFBConfig(dsp, *fbcfg);
    GLXContext con = glXCreateNewContext(dsp, *fbcfg, GLX_RGBA_TYPE, 0, GL_TRUE);
    XSetWindowAttributes setwa;
    setwa.colormap = XCreateColormap(dsp, RootWindow(dsp, vis->screen), vis->visual, AllocNone);
    setwa.border_pixel = 0;
    setwa.event_mask = StructureNotifyMask;
    Window win = XCreateWindow(
      dsp, RootWindow(dsp, vis->screen),
      0 /* x */, 0 /* y */, 320 /* width */, 240 /* height */, 0 /* border width*/,
      vis->depth /* depth */, InputOutput, vis->visual,
      CWBorderPixel | CWEventMask | CWColormap, &setwa);
    XMapWindow(dsp, win); // assign window to our Display
    GLXWindow glxwin = glXCreateWindow(dsp, *fbcfg, win, 0);
    glXMakeContextCurrent(dsp, glxwin, glxwin, con);
    return 0;
}
然后是产生的错误报告:
failed to create drawable
X Error of failed request:  BadDrawable (invalid Pixmap or Window parameter)
  Major opcode of failed request:  55 (X_CreateGC)
  Resource id in failed request:  0x4200004
  Serial number of failed request:  21
  Current serial number in output stream:  23

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2009-1-22 12:02:00 | 显示全部楼层

Re:请教:glXCreateWindow产生failed to create drawable的原因

你似乎应该先创建Window吧。

34

主题

70

帖子

76

积分

注册会员

Rank: 2

积分
76
 楼主| 发表于 2009-1-24 10:05:00 | 显示全部楼层

Re:请教:glXCreateWindow产生failed to create drawable的原因

我完全是照着:
http://www.planetcoding.net/thread.php?postid=14969
这篇文章做的呃……

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2009-1-24 20:23:00 | 显示全部楼层

Re:请教:glXCreateWindow产生failed to create drawable的原因

我照着Spec做。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-20 11:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表