// Use this for initialization IEnumerator Start() { var gamma = 1.0f; Texture src = debugSrc; if (src == null) { yield return(Application.RequestUserAuthorization(UserAuthorization.WebCam)); if (!Application.HasUserAuthorization(UserAuthorization.WebCam)) { Debug.Log("Failed to obtain a web camera"); yield break; } var webCamTex = new WebCamTexture(); src = webCamTex; webCamTex.Play(); while (src.width <= 16) { yield return(0); } Debug.Log(string.Format("Texture size : ({0}x{1})", src.width, src.height)); bilateralGridMat.SetInt(PROP_TEXTURE_TYPE, 1); resultMat.SetInt(PROP_TEXTURE_TYPE, 1); gamma = UnityEditor.PlayerSettings.colorSpace == ColorSpace.Linear ? 2.2f : 1.0f; } webcamMat.mainTexture = src; Debug.Log("Gamma : " + gamma); bilateralGridMat.SetFloat(PROP_GAMMA, gamma); resultMat.SetFloat(PROP_GAMMA, gamma); _bg = new BilateralGrid(src, sigma, gaussianX, gaussianY, gaussianZ); _bg.BindCamera(camera); _bg.BindGridMat(bilateralGridMat); _bg.BindResultMat(resultMat); _bg.BindViewer(viewer); var meshGen = GetComponentInChildren <MeshGenerator>(); meshGen.Generate(); yield break; }
// Use this for initialization IEnumerator Start() { var gamma = 1.0f; Texture src = debugSrc; if (src == null) { yield return Application.RequestUserAuthorization(UserAuthorization.WebCam); if (!Application.HasUserAuthorization(UserAuthorization.WebCam)) { Debug.Log("Failed to obtain a web camera"); yield break; } var webCamTex = new WebCamTexture(); src = webCamTex; webCamTex.Play(); while (src.width <= 16) yield return 0; Debug.Log (string.Format("Texture size : ({0}x{1})", src.width, src.height)); bilateralGridMat.SetInt(PROP_TEXTURE_TYPE, 1); resultMat.SetInt(PROP_TEXTURE_TYPE, 1); gamma = UnityEditor.PlayerSettings.colorSpace == ColorSpace.Linear ? 2.2f : 1.0f; } webcamMat.mainTexture = src; Debug.Log("Gamma : " + gamma); bilateralGridMat.SetFloat(PROP_GAMMA , gamma); resultMat.SetFloat(PROP_GAMMA, gamma); _bg = new BilateralGrid(src, sigma, gaussianX, gaussianY, gaussianZ); _bg.BindCamera(camera); _bg.BindGridMat(bilateralGridMat); _bg.BindResultMat(resultMat); _bg.BindViewer(viewer); var meshGen = GetComponentInChildren<MeshGenerator>(); meshGen.Generate(); yield break; }