Unity2018新加入了该接口,可以做到异步RenderTexture->像素数据和异步的ComputeBuffer.GetData
那么写了几个例子来测试下。
1.RenderTexture->Texture2D
异步:
IEnumerator Start() { var rt = new RenderTexture(512, 512, 0); //Graphics.xxx... var req = AsyncGPUReadback.Request(rt); yield return new WaitUntil(() => req.done); var tex = new Texture2D(512, 512, TextureFormat.RGBA32, false); var colorArray = req.GetData<Color32>().ToArray(); tex.SetPixels32(colorArray); tex.Apply(); }
同步:
RenderTexture.active = rt; var tex = new Texture2D(512, 512, TextureFormat.RGBA32, false); tex.ReadPixels(new Rect(