3.7.1 版本
我在 C++ 层通过这种方式创建了 Texture2D 对象:
_previewTexture = new cc::Texture2D();
_previewTexture->create(renderWidth, renderHeight, cc::Texture2D::PixelFormat::RGBA8888);
并在脚本层获取到这个 Texture2D 对象,将其作为一个新创建的 SpriteFrame 对象的纹理,并将SpriteFrame对象设置到 Sprite 对象中:
let texture = CustomNative.getPreviewTexture();
let spriteFrame = new SpriteFrame();
spriteFrame.texture = texture;
this.m_preview.spriteFrame = spriteFrame;
最终我想在 C++ 层通过 uploadData 的方式渲染画面:
// renderData 是得到的视频帧数据
_previewTexture->uploadData(static_cast<const uint8_t *>(renderData));
但并没有达到预期显示出画面,也许是我的使用方式不对
我的问题是:
- 能否使用 Texture2D::uploadData 实现渲染视频帧数据的需求?
- 如果可以的话要如何使用 Texture2D::uploadData 才能正常渲染呢?
- 如果不能的话,在 3.7.1 版本如何渲染在原生层得到的视频帧数据呢?