在按照howto_decode_to_texture.md描述实现360视频后,我们发现渲染线程后显示颜色不正确。有谁能帮我指出是什么原因造成的?

发布于 2017-07-15 00:45:06
(评论中提出的解决方案摘要)
当使用GL_TEXTURE_EXTERNAL_OES作为纹理类型时,这通常意味着GL驱动程序将在幕后执行YUV -> RGB转换。因此,在这种情况下,您可能希望Cobalt将生成的纹理视为RGBA纹理,因此应该对图像使用kSbDecodeTargetFormat1PlaneRGBA。
当解码器的输出是两个单独的纹理(Y的纹理和UV的纹理)时,应使用kSbDecodeTargetFormat2PlaneYUVNV12格式,在这种情况下,钴将使用片段着色器来执行YUV -> RGB转化。
https://stackoverflow.com/questions/45012057
复制相似问题