【发布时间】:2019-08-05 21:22:41
【问题描述】:
总结
我想通过 glReadPixels 将 opengl 像素(GL_RGB)写入 QImage。这呈现正确,但是当我调整窗口大小时,它会奇怪地缩放并扭曲我的形状(三角形)。
我尝试了什么
我试过(QImage)img.scale(width(),height(),Qt::KeepAspectRatio)
但它并没有解决问题。
玩过我如何将像素缓冲区从glReadPixels 写入QImage,但没有。没用。
我应该读取三个缓冲区中的像素(GLubyte *rpixel,*gpixel,*bpixel)还是一个(GLubyte **pixels)?哪个最简单,因为当我调整窗口大小时我会调整数组大小(所以我想要动态数组)。
一些代码
我已经上传了一个最小的代码来重新创建 github 中的错误奇怪行为。下载并使用 Qt Creator 进行编译。 https://github.com/rivenblades/GlReadPixelsQT/tree/master
图片
如您所见,在调整大小时,图像在右侧被分割,在左侧可能在另一行继续。所以我猜图像的大小是错误的(需要更多宽度?)。
【问题讨论】:
标签: qt opengl glfw glew glreadpixels