快速注意 - 如果你有Unity / Android代码可以播放视频流h264,而不是完整视频,在Unity端30 + FPS播放分享它,这会救我!
说明 我有Unity Pro 4.3。简单的第一种方法是创建Color32 [1080 * 1920]的数组,并将元素分配给通过数学函数创建的值。 主要目标正在创建Texture2D并使用像素颜色数组,并能够以30+ FPS帧对帧更新它们。以下是我现在的结果:
仅限Texture2D Unity Side:
Unity和Android之间的Texture2D:
glBindTexture(GL_TEXTURE_2D, texturePtr);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, s_resolutionWidth, s_resolutionHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
渲染纹理:
我真的需要知道以30 FPS更新Unity中纹理的最佳方法。一旦我知道如何做到这一点,即使是最简单的形式,我也能取得进步。
答案 0 :(得分:1)
你不能指望使用标准的glTexImage2D()函数获得接近30 fps的任何值,因为它复制并转换每个图像,这使得它太慢。该功能仅适用于静态图像,一次加载并多次使用。 Android平台通过使用EGL图像扩展来避免此功能,而应用程序也可以这样做。但是,它确实需要本机代码。本文为Android提供了介绍和示例代码:
http://software.intel.com/en-us/articles/using-opengl-es-to-accelerate-apps-with-legacy-2d-guis