我正在尝试设置并行多GPU离屏渲染上下文.我使用"OpenGL Insights"一书,第27章"NVIDIA Quadro上的多GPU渲染".我还查看了wglCreateAffinityDCNV 文档,但仍无法将其固定下来.
我的机器有2个NVidia Quadro 4000卡(无SLI).运行在Windows 7 64bit上.我的工作流程如下:
创建的所有内容都没有错误并且运行但是一旦我尝试从屏幕外FBO读取像素,我在这里得到一个空指针:
GLubyte* ptr = (GLubyte*)glMapBuffer(GL_PIXEL_PACK_BUFFER, GL_READ_ONLY);
Run Code Online (Sandbox Code Playgroud)
glError也会返回"UNKNOWN ERROR"
我认为可能是多线程是问题但是在单线程上运行时相同的设置会给出相同的结果.所以我认为这与背景创作有关.
我是这样做的:
////Creating default window with GLFW here .
.....
.....
Run Code Online (Sandbox Code Playgroud)
创建屏幕外的上下文:
PIXELFORMATDESCRIPTOR pfd =
{
sizeof(PIXELFORMATDESCRIPTOR),
1,
PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, //Flags
PFD_TYPE_RGBA, //The kind of framebuffer. RGBA or palette.
24, //Colordepth of the framebuffer.
0, 0, 0, 0, 0, 0,
0,
0,
0,
0, 0, 0, 0,
24, //Number of bits for …Run Code Online (Sandbox Code Playgroud)