【发布时间】:2010-10-22 01:19:36
【问题描述】:
自从我开始学习渲染到纹理后,我逐渐明白glCopyTexSubImage2D() 会将屏幕的指定部分倒置。为了防止/解决此问题,我尝试了一些想到的简单方法,但找不到优雅的解决方案。
在将纹理渲染到屏幕之前执行 ::glScalef(1.0f, -1.0f, 1.0f) 有两个问题: 1,我每次使用纹理时都必须这样做。 2,我主要使用 2D 图形,并为 GL_BACKsides 关闭了背面剔除。我希望尽可能节省打开和关闭它的时间。
尝试将矩阵模式切换到 GL_TEXTURE 并在捕获时进行 ::glScalef(1.0f, -1.0f, 1.0f) 转换,但结果相同。 (我猜纹理矩阵只对 glTexCoord 调用有影响?)
那么,如何修复glCopyTexSubImage2D 捕获的纹理的上下方向?
【问题讨论】:
标签: c++ opengl capture render textures