[unity] Handle varying CopyTexture support.

This commit is contained in:
pharan 2018-08-02 10:20:46 +08:00 committed by GitHub
parent 6b56eb0d95
commit b4db3b2114
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -619,7 +619,14 @@ namespace Spine.Unity.Modules.AttachmentTools {
}
static void CopyTexture (Texture2D source, Rect sourceRect, Texture2D destination) {
Graphics.CopyTexture(source, 0, 0, (int)sourceRect.x, (int)sourceRect.y, (int)sourceRect.width, (int)sourceRect.height, destination, 0, 0, 0, 0);
if (SystemInfo.copyTextureSupport == UnityEngine.Rendering.CopyTextureSupport.None) {
// GetPixels fallback for old devices.
Color[] pixelBuffer = source.GetPixels((int)sourceRect.x, (int)sourceRect.y, (int)sourceRect.width, (int)sourceRect.height);
destination.SetPixels(pixelBuffer);
destination.Apply();
} else {
Graphics.CopyTexture(source, 0, 0, (int)sourceRect.x, (int)sourceRect.y, (int)sourceRect.width, (int)sourceRect.height, destination, 0, 0, 0, 0);
}
}
static bool IsRenderable (Attachment a) {