我正在开发应将视频数据流式传输到 OpenGL (ES2) 的应用程序。对于视频的每一帧,我可以获得一个包含所有数据的 ByteBuffer。我想一种方法是将其转换为 OpenGL 纹理,然后在 OpenGL 中使用 sampler2D。但是,感觉就像我已经得到了那个 ByteBuffer 一样,将具有宽度和高度的数据发送到 OpenGL 并以某种方式从着色器中读取像素数据会更有效。应用程序将只显示 2D 视频,但应使用片段着色器对数据进行操作。
我的问题是 OpenGL 是否内置了任何东西来简化这一点(即使用 ByteBuffer 数组作为纹理)?是否可以在 ByteBuffer 数组上使用 sampler2D 或等价物?