gpt4 book ai didi

Android:将 SurfaceTexture 附加到 FrameBuffer

转载 作者:行者123 更新时间:2023-11-29 20:09:30 29 4
gpt4 key购买 nike

我正在执行需要双 channel 渲染的视频效果(纹理需要通过多个着色器程序)。将 SurfaceTexture 附加到构造函数中传递的 GL_TEXTURE_EXTERNAL_OES 似乎不是解决方案,因为显示的结果只渲染一次。

我知道的一个解决方案是,可以对 FrameBuffer 进行第一次渲染,然后可以将生成的纹理渲染到它实际显示的位置。

但是,SurfaceTexture 似乎必须附加到 GL_TEXTURE_EXTERNAL_OES 纹理,而不是 FrameBuffer。我不确定是否有解决方法,或者我是否应该采取其他方法。

谢谢。

最佳答案

SurfaceTexture 接收一个图形数据缓冲区并将其包装为“外部”纹理。如果有助于查看源代码,请从 updateTexImage() 开始.请注意,类的名称(“GLConsumer”)是比“SurfaceTexture”更准确的功能描述:它消耗图形数据帧并使它们可用于 GLES。

SurfaceTexture 预计可以处理 OpenGL ES 不能“自然”处理的格式,尤其是 YUV,因此它总是使用外部纹理。

关于Android:将 SurfaceTexture 附加到 FrameBuffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35230984/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com