问题是这个,我从240x160 res的相机输入,我把它放在256x256纹理中。
然后我将它映射到U上的四元组[0..240 / 256],以及V.上的[0..160 / 256]。工作正常,但问题是我渲染到缓冲区..
缓冲区是正确的比例,因为我不想做更多的像素而不是nessasary。然后我来应用不同的效果并渲染到下一个缓冲区。但到目前为止,我必须在U和V上使用范围[0..1],因此我的宽高比已经丢失。
问题是我的像素着色器效果可能依赖于宽高比,例如,水波纹需要计算距离中心的距离。
我可以在着色器中解决问题,但理想情况下,在第二次(或更多)传递时,我想设置UV范围,以便预先设置宽高比。
我可以这样做吗?
答案 0 :(得分:1)
纹理坐标始终来自OpenGL ES中的[0,1]。您必须将纵横比作为制服传递,或者以相同的纵横比创建纹理。