void OnPreRender() { if (syncMode == SYNC_MODE.LOW_LATENCY) { _imageList = _controller.Images; } Image referenceImage = _imageList[(int)eye]; if (referenceImage.Width == 0 || referenceImage.Height == 0) { _missedImages++; if (_missedImages == IMAGE_WARNING_WAIT) { Debug.LogWarning("Can't find any images. " + "Make sure you enabled 'Allow Images' in the Leap Motion Settings, " + "you are on tracking version 2.1+ and " + "your Leap Motion device is plugged in."); } return; } if (referenceImage.Height != _currentHeight || referenceImage.Width != _currentWidth || referenceImage.Format != _currentFormat) { initMainTexture(referenceImage); _currentHeight = referenceImage.Height; _currentWidth = referenceImage.Width; _currentFormat = referenceImage.Format; _imageBasedMaterialsToInit.Clear(); _imageBasedMaterialsToInit.AddRange(_registeredImageBasedMaterials); _forceDistortionRecalc = true; } loadMainTexture(referenceImage); for (int i = _imageBasedMaterialsToInit.Count - 1; i >= 0; i--) { LeapImageBasedMaterial material = _imageBasedMaterialsToInit[i]; initImageBasedMaterial(material); _imageBasedMaterialsToInit.RemoveAt(i); } foreach (LeapImageBasedMaterial material in _registeredImageBasedMaterials) { if (material.imageMode == LeapImageBasedMaterial.ImageMode.STEREO || (material.imageMode == LeapImageBasedMaterial.ImageMode.LEFT_ONLY && eye == EYE.LEFT) || (material.imageMode == LeapImageBasedMaterial.ImageMode.RIGHT_ONLY && eye == EYE.RIGHT)) { updateImageBasedMaterial(material, ref referenceImage); } } }
void OnPreRender () { if (syncMode == SYNC_MODE.LOW_LATENCY) { _imageList = _controller.Images; /*if (!_imageList.IsEmpty) { Debug.Log (name + " LOW_LATENCY: controller.Now(): " + _controller.Now() + " - imageList.Timestamp: " + _imageList[0].Timestamp + " = " + (_controller.Now() - _imageList[0].Timestamp)); } else { Debug.LogWarning(name + " LOW_LATENCY -> NO FRAMES"); }*/ } int imageEye = frameEye; switch (retrievedEye) { case EYE.LEFT: imageEye = 0; break; case EYE.RIGHT: imageEye = 1; break; case EYE.RIGHT_TO_LEFT: imageEye = 1 - imageEye; break; default: break; } Image referenceImage = _imageList [imageEye]; if (referenceImage.Width == 0 || referenceImage.Height == 0) { _missedImages++; if (_missedImages == IMAGE_WARNING_WAIT) { Debug.LogWarning ("Can't find any images. " + "Make sure you enabled 'Allow Images' in the Leap Motion Settings, " + "you are on tracking version 2.1+ and " + "your Leap Motion device is plugged in."); } return; } if (referenceImage.Height != _currentHeight || referenceImage.Width != _currentWidth || referenceImage.Format != _currentFormat) { initMainTexture (referenceImage); _currentHeight = referenceImage.Height; _currentWidth = referenceImage.Width; _currentFormat = referenceImage.Format; _imageBasedMaterialsToInit.Clear (); _imageBasedMaterialsToInit.AddRange (_registeredImageBasedMaterials); _forceDistortionRecalc = true; } loadMainTexture (referenceImage); for (int i = _imageBasedMaterialsToInit.Count - 1; i >= 0; i--) { LeapImageBasedMaterial material = _imageBasedMaterialsToInit [i]; initImageBasedMaterial (material); _imageBasedMaterialsToInit.RemoveAt (i); } foreach (LeapImageBasedMaterial material in _registeredImageBasedMaterials) { if (material.imageMode == LeapImageBasedMaterial.ImageMode.STEREO || (material.imageMode == LeapImageBasedMaterial.ImageMode.LEFT_ONLY && imageEye == 0) || (material.imageMode == LeapImageBasedMaterial.ImageMode.RIGHT_ONLY && imageEye == 1)) { updateImageBasedMaterial (material, ref referenceImage); } } frameEye++; }
void OnPreRender() { if (syncMode == SYNC_MODE.LOW_LATENCY) { _imageList = _controller.Images; /*if (!_imageList.IsEmpty) { * Debug.Log (name + " LOW_LATENCY: controller.Now(): " + _controller.Now() + " - imageList.Timestamp: " + _imageList[0].Timestamp + " = " + (_controller.Now() - _imageList[0].Timestamp)); * } else { * Debug.LogWarning(name + " LOW_LATENCY -> NO FRAMES"); * }*/ } int imageEye = frameEye; switch (retrievedEye) { case EYE.LEFT: imageEye = 0; break; case EYE.RIGHT: imageEye = 1; break; case EYE.RIGHT_TO_LEFT: imageEye = 1 - imageEye; break; default: break; } Image referenceImage = _imageList [imageEye]; if (referenceImage.Width == 0 || referenceImage.Height == 0) { _missedImages++; if (_missedImages == IMAGE_WARNING_WAIT) { Debug.LogWarning("Can't find any images. " + "Make sure you enabled 'Allow Images' in the Leap Motion Settings, " + "you are on tracking version 2.1+ and " + "your Leap Motion device is plugged in."); } return; } if (referenceImage.Height != _currentHeight || referenceImage.Width != _currentWidth || referenceImage.Format != _currentFormat) { initMainTexture(referenceImage); _currentHeight = referenceImage.Height; _currentWidth = referenceImage.Width; _currentFormat = referenceImage.Format; _imageBasedMaterialsToInit.Clear(); _imageBasedMaterialsToInit.AddRange(_registeredImageBasedMaterials); _forceDistortionRecalc = true; } loadMainTexture(referenceImage); for (int i = _imageBasedMaterialsToInit.Count - 1; i >= 0; i--) { LeapImageBasedMaterial material = _imageBasedMaterialsToInit [i]; initImageBasedMaterial(material); _imageBasedMaterialsToInit.RemoveAt(i); } foreach (LeapImageBasedMaterial material in _registeredImageBasedMaterials) { if (material.imageMode == LeapImageBasedMaterial.ImageMode.STEREO || (material.imageMode == LeapImageBasedMaterial.ImageMode.LEFT_ONLY && imageEye == 0) || (material.imageMode == LeapImageBasedMaterial.ImageMode.RIGHT_ONLY && imageEye == 1)) { updateImageBasedMaterial(material, ref referenceImage); } } frameEye++; }