震惊!renderTexture竟然会拿大顶!

使用单独摄像机,渲染到renderTexture,再设置到一个sprite上,图像会上下颠倒。
image
const spriteFrame = new SpriteFrame();
spriteFrame.texture = this.camera.targetTexture;
renderSprite.spriteFrame = spriteFrame;
如果重新激活一下,图像就正常了
renderSprite.node.active = false;
renderSprite.node.active = true;

OpenGL 的 Texture 本身就是颠倒的,直接使用 RenderTexture 绑定的 Texture 正常来说就是颠倒的。

切换下active就自动正过来了是为啥呢?

感觉可能是引擎的某个 bug,flipY 失败了

3.5 还有这个bug

厉害了。3.8还有这个问题。我出现了。真服了

你好,请问可以提供一下测试工程么?

下次我遇到bug,也起个吊炸天的标题。

太久了,没了~ 反正能解决,问题不大

“拿大顶”是什么意思

直接设置纹理得话,有的机型会倒着有的机型正常,没有办法做处理

其实是 里面的材质 没有 RT 颠倒的宏没实时编译,可以手动创建材质,开启 sample from RT即可,第二次是onenable 时候发现 有rt 了 重新编译了宏

4赞

但是部分机型是正确得,如果设置sample from RT其余得就会有问题

真难呀 没人能解决呀

我比你惨,我的rt直接原生平台无效,小游戏才有效。

const spriteFrame = new SpriteFrame();
spriteFrame.flipUVY = true;
1赞