/// <summary> /// this addes images target runtime to the xrreference library through unity job system /// </summary> /// <param name="texture2D"></param> /// <returns></returns> public IEnumerator AddImageJob(ImageTargetVideoUrlTemplate t) { yield return(null); print("Adding image\n"); print("Job Starting..."); var firstGuid = new SerializableGuid(0, 0); var secondGuid = new SerializableGuid(0, 0); // XRReferenceImage newImage = new XRReferenceImage(firstGuid, secondGuid, new Vector2(0.1f, 0.1f), Guid.NewGuid().ToString(), texture2D); addedImageCount++; XRReferenceImage newImage = new XRReferenceImage(firstGuid, secondGuid, new Vector2(0.1f, 0.1f), addedImageCount.ToString(), currentDownloadedTexture); try { loadingGameObj.SetActive(true); Debug.Log("new image naame" + newImage.ToString()); MutableRuntimeReferenceImageLibrary mutableRuntimeReferenceImageLibrary = trackImageManager.referenceLibrary as MutableRuntimeReferenceImageLibrary; var jobHandle = mutableRuntimeReferenceImageLibrary.ScheduleAddImageJob(currentDownloadedTexture, addedImageCount.ToString(), 0.1f); while (!jobHandle.IsCompleted) { print("Job Running..."); } loadingGameObj.SetActive(false); Debug.Log("job finsihed added to dictionary"); // referenceImageAddedEvent?.Invoke(newImage,t); GetComponent <DynamicImgVideoSpawner>().OnReferenceImageAdded(newImage, t); currentDownloadedTexture = null; Resources.UnloadUnusedAssets(); GC.Collect(); //image downloaded and added to library // imageTargetUrlGetter.OnUnityEntered(); print("image downloaded and added to library"); print("image count" + mutableRuntimeReferenceImageLibrary.count); //print("name da mame " + newImage.name); } catch (Exception e) { print(e.ToString()); } }
public IEnumerator AddImageJob(Texture2D texture2D) { yield return(null); //debugLog.text = string.Empty; debugLog.text += "Adding image\n"; jobLog.text = "Job Starting..."; var firstGuid = new SerializableGuid(0, 0); var secondGuid = new SerializableGuid(0, 0); XRReferenceImage newImage = new XRReferenceImage(firstGuid, secondGuid, new Vector2(0.1f, 0.1f), Guid.NewGuid().ToString(), texture2D); try { Debug.Log(newImage.ToString()); MutableRuntimeReferenceImageLibrary mutableRuntimeReferenceImageLibrary = trackImageManager.referenceLibrary as MutableRuntimeReferenceImageLibrary; debugLog.text += $"TextureFormat.RGBA32 supported: {mutableRuntimeReferenceImageLibrary.IsTextureFormatSupported(TextureFormat.RGBA32)}\n"; debugLog.text += $"TextureFormat size: {texture2D.width}px width {texture2D.height}px height\n"; var jobHandle = mutableRuntimeReferenceImageLibrary.ScheduleAddImageJob(texture2D, Guid.NewGuid().ToString(), 0.1f); while (!jobHandle.IsCompleted) { jobLog.text = "Job Running..."; } jobLog.text = "Job Completed..."; debugLog.text += $"Job Completed ({mutableRuntimeReferenceImageLibrary.count})\n"; debugLog.text += $"Supported Texture Count ({mutableRuntimeReferenceImageLibrary.supportedTextureFormatCount})\n"; debugLog.text += $"trackImageManager.trackables.count ({trackImageManager.trackables.count})\n"; debugLog.text += $"trackImageManager.trackedImagePrefab.name ({trackImageManager.trackedImagePrefab.name})\n"; debugLog.text += $"trackImageManager.maxNumberOfMovingImages ({trackImageManager.maxNumberOfMovingImages})\n"; debugLog.text += $"trackImageManager.supportsMutableLibrary ({trackImageManager.subsystem.SubsystemDescriptor.supportsMutableLibrary})\n"; debugLog.text += $"trackImageManager.requiresPhysicalImageDimensions ({trackImageManager.subsystem.SubsystemDescriptor.requiresPhysicalImageDimensions})\n"; } catch (Exception e) { debugLog.text = e.ToString(); } }
public IEnumerator AddImageJob(Texture2D texture2D) { yield return(null); Debug.Log("tex name " + texture2D.name); var firstGuid = new SerializableGuid(0, 0); var secondGuid = new SerializableGuid(0, 0); // XRReferenceImage newImage = new XRReferenceImage(firstGuid, secondGuid, new Vector2(0.1f, 0.1f), Guid.NewGuid().ToString(), texture2D); addedImageCount++; XRReferenceImage newImage = new XRReferenceImage(firstGuid, secondGuid, new Vector2(0.1f, 0.1f), addedImageCount.ToString(), texture2D); // loadingCanvas.SetActive(true); try { Debug.Log(newImage.ToString()); MutableRuntimeReferenceImageLibrary mutableRuntimeReferenceImageLibrary = trackImageManager.referenceLibrary as MutableRuntimeReferenceImageLibrary; var jobHandle = mutableRuntimeReferenceImageLibrary.ScheduleAddImageJob(texture2D, addedImageCount.ToString(), 0.1f); while (!jobHandle.IsCompleted) { print("Job Running..."); } //loadingCanvas.SetActive(false); Debug.Log("job finsihed added to dictionary"); // referenceImageAddedEvent?.Invoke(newImage, t); //image downloaded and added to library // imageTargetUrlGetter.OnUnityEntered(); print("image downloaded and added to library"); //print("name da mame " + newImage.name); Destroy(texture2D); GC.Collect(); } catch (Exception e) { print(e.ToString()); } }