【发布时间】:2017-04-18 03:02:55
【问题描述】:
我想在我的 Debian 机器上执行一些 3D 渲染并将结果带入客户端内存。
我创建了一个不需要窗口的基于 C++、GLX 和 GLEW 的应用程序。我得到一个带有glXOpenDisplay 的显示器,用它找到一个带有glXChooseFBConfig 的适当帧缓冲区(通过显示器的DefaultScreen),用glXGetVisualFromFBConfig 获得视觉信息,并将相关信息传递给glXCreateContext。我将该上下文设为当前并初始化 GLEW。
作为开始测试,我只是用各种颜色清除默认帧缓冲区;我现在想逐像素查询结果,大概是glReadPixels。
但这似乎是我从根本上误解的地方:默认帧缓冲区的尺寸是多少?我从来没有为它定义初始高度或宽度,而且我没有看到这样做的方法。
Answers such as this one 暗示窗口“定义”了尺寸。在我的应用程序中,DefaultScreen 是否定义了尺寸?如果是这种情况,我该怎么做才能使默认帧缓冲区大于特别小的屏幕?
【问题讨论】: