0

我正在使用AMD Radeon HD 6000 series它支持Open GL 4.1. 使用下面的代码,我在我的 GPU 上分配内存以加快处理速度:

glGenBuffersARB(1, &Id[0]);
enm =  glGetError();

glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, Id[0]);
enm =  glGetError();

glBufferDataARB(GL_PIXEL_UNPACK_BUFFER_ARB, 1920*1080*3, NULL, GL_STREAM_DRAW_ARB);
enm =  glGetError();

guibuffer[loop] = (UINT8*)glMapBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, GL_WRITE_ONLY_ARB);
enm =  glGetError();

后来在guibuffer缓冲区我执行 YUV 到 RGB 转换并使用 opengl 渲染它。

渲染非常适合上述显卡。但是,当我在 上尝试相同的代码时,我在渲染窗口中NVidia GEFORCE 310 GT218得到一个白屏。支持此显卡的 open GL 版本是openGL 3.2.

谁能建议导致问题的原因是什么?是两种显卡支持的opengl版本不同,还是不同版本的内存分配方式不同。

4

0 回答 0