我正在使用OpenGL,我需要在顶点的UV坐标处将3D模型的椎体渲染到FBO。为此,我首先要将UV坐标空间转换为屏幕空间。
我得出结论:
uv.x * 2 - 1
uv.y * 2 - 1
......应该这样做。
我在顶点着色器中使用它将顶点放在那些新位置。结果如下:
......虽然应该看起来像这样:
似乎它已经扩大了。我不知道问题出在哪里。
答案 0 :(得分:0)
您确定屏幕空间是-1到1而不是-0.5到0.5吗?
尝试从x和y中减去0.5。
答案 1 :(得分:-1)
修复了问题,我没有调用gl视口,这是坐标系不适用于fbo纹理大小的原因