这是一个长期问题,我需要你的集体天才才能解决。我从相机拍摄图像并将它们输出到opengl。通过关闭屏幕FBO记录图像正确输出。
但是,我输出到屏幕上显示的内容总是在右上角裁剪/放大。 (例如,如果我拍摄四窗格窗口的照片,从屏幕外缓冲区保存的图像将显示整个窗口,但屏幕上显示的内容只是左上窗格。)
我尝试过改变glviewport以及将顶点数据相乘无济于事。唯一可行的方法是将eagllayer的contentScaleFactor设置为1.4或更高的值。这个黑客本质上做的是将FBO增加1.4倍,我认为这对性能没有好处。任何想法如何我可以正确输出到屏幕,而不使用这个黑客?它一定是非常简单的,我还没找到。 谢谢,大家。
答案 0 :(得分:0)
有趣的是,发布到stackoverflow通常可以解决我的问题。由于glGenFramebuffers被调用两次,原因是背面宽度和高度设置错误。修复允许glviewport(设置为显示宽度和高度)工作。