// Update is called once per frame void Update() { if (!PopCheckCurrentCamera.CheckCurrentCamera()) { return; } // if (!mGenerateOnce || !mRandomInitialised) { mRandomTexture.DiscardContents(); Graphics.Blit(null, mRandomTexture, mRandomShader); mRandomInitialised = true; // } }
bool MakeHomographyTexture() { if (!PopCheckCurrentCamera.CheckCurrentCamera()) { return(false); } if (mHomographys.height != HomographyOutlierRow + 1 || mHomographys.width < 4) { throw new UnityException("Homography target texture needs to be " + HomographyOutlierRow + " pixels high (3x3 matrix)"); return(false); } mHomographys.DiscardContents(); Graphics.Blit(mHomographyPoints, mHomographys, mMakeHomographyShader); return(true); }
// Update is called once per frame void Update() { if (!PopCheckCurrentCamera.CheckCurrentCamera()) { return; } if (!mInputPrev || !mInputNext || !mMakeFeaturesShader || !mFeaturesPrev || !mFeaturesNext || !mTrackFeaturesShader || !mFeatureMatches ) { Debug.Log("FeatureMatcher not setup"); return; } // make features for both inputs mFeaturesPrev.DiscardContents(); mFeaturesNext.DiscardContents(); Graphics.Blit(mInputPrev, mFeaturesPrev, mMakeFeaturesShader); Graphics.Blit(mInputNext, mFeaturesNext, mMakeFeaturesShader); // match features mTrackFeaturesShader.SetTexture("FeaturesPrev", mFeaturesPrev); Graphics.Blit(mFeaturesNext, mFeatureMatches, mTrackFeaturesShader); FeatureTrackOptions Options = new FeatureTrackOptions(); Options.MaxResults = mMaxResults; mJoints = FeatureTracker.GetFeatureTracks(mFeatureMatches, ref mFeatureMatchesBuffer, Options); if (mCopyToPrev) { Graphics.Blit(mInputNext, mInputPrev); } }
// Update is called once per frame void Update() { if (!PopCheckCurrentCamera.CheckCurrentCamera()) { return; } if (!mWebcamTexture) { Application.RequestUserAuthorization(UserAuthorization.WebCam); string RealDeviceName = DeviceName; #if UNITY_ANDROID RealDeviceName = ""; #endif #if UNITY_IOS RealDeviceName = ""; #endif if (RealDeviceName.Length > 0) { mWebcamTexture = new WebCamTexture(RealDeviceName); } else { string debug = "using default webcam device. Options: "; foreach (WebCamDevice w in WebCamTexture.devices) { debug += "\n" + w.name; } Debug.Log(debug); mWebcamTexture = new WebCamTexture(); } if (mWebcamTexture != null) { mWebcamTexture.Play(); } } if (mOutputTexture && mWebcamTexture) { mOutputTexture.DiscardContents(); var TempTarget = mProcessShader != null?RenderTexture.GetTemporary(mOutputTexture.width, mOutputTexture.height, 0, mOutputTexture.format) : mOutputTexture; // ios camera seems to be upside down... if (mFlipMaterial) { mFlipMaterial.SetInt("Flip", mFlip?1:0); mFlipMaterial.SetInt("Mirror", mMirror?1:0); Graphics.Blit(mWebcamTexture, TempTarget, mFlipMaterial); } else { Graphics.Blit(mWebcamTexture, TempTarget); } if (TempTarget != mOutputTexture) { Graphics.Blit(TempTarget, mOutputTexture, mProcessShader); RenderTexture.ReleaseTemporary(TempTarget); } } }