コード例 #1
0
 public ECaptureSendResult SendTexture(Texture Source, int Timeout = 1000, bool DoubleBuffering = false, EResizeMode ResizeMode = EResizeMode.Disabled, EMirrorMode MirrorMode = EMirrorMode.Disabled)
 {
     if (CaptureInstance == System.IntPtr.Zero)
     {
         return(ECaptureSendResult.ERROR_INVALIDCAPTUREINSTANCEPTR);
     }
     return(CaptureSendTexture(CaptureInstance, Source.GetNativeTexturePtr(), Timeout, DoubleBuffering, ResizeMode, MirrorMode, QualitySettings.activeColorSpace == ColorSpace.Linear));
 }
コード例 #2
0
 [System.Runtime.InteropServices.DllImport("UnityCapturePlugin")] extern static ECaptureSendResult CaptureSendTexture(System.IntPtr instance, System.IntPtr nativetexture, int Timeout, bool UseDoubleBuffering, EResizeMode ResizeMode, EMirrorMode MirrorMode, bool IsLinearColorSpace);
コード例 #3
0
 extern static ECaptureSendResult CaptureSendTexture(System.IntPtr instance, System.IntPtr nativetexture, int Timeout, int Buffering, EResizeMode ResizeMode, EMirrorMode MirrorMode, bool IsLinearColorSpace);
コード例 #4
0
 /// <summary>
 /// Prepare the CatpureInstance to the texture sending process
 /// </summary>
 /// <param name="Source"></param>
 /// <param name="Timeout"></param>
 /// <param name="DoubleBuffering"></param>
 /// <param name="ResizeMode"></param>
 /// <param name="MirrorMode"></param>
 public void SetTexture(Texture Source, int Timeout = 1000, bool DoubleBuffering = false, EResizeMode ResizeMode = EResizeMode.Disabled, EMirrorMode MirrorMode = EMirrorMode.Disabled, string fileName = null)
 {
     if (CaptureInstance != System.IntPtr.Zero)
     {
         if (_cachedTexturePtr == System.IntPtr.Zero)
         {
             _cachedTexturePtr = Source.GetNativeTexturePtr(); // On some configs, GetNativeTexPtr is slow (on a low end pc => 8.59ms/call !)
         }
         if (fileName == null)
         {
             SetTextureFromUnity(CaptureInstance, _cachedTexturePtr, Timeout, DoubleBuffering, ResizeMode, MirrorMode, QualitySettings.activeColorSpace == ColorSpace.Linear, Source.width, Source.height);
         }
         else
         {
             byte[] bytes = System.Text.Encoding.Unicode.GetBytes(fileName);
             PrepareScreenshot(CaptureInstance, _cachedTexturePtr, Timeout, DoubleBuffering, ResizeMode, MirrorMode, QualitySettings.activeColorSpace == ColorSpace.Linear, Source.width, Source.height, bytes);
         }
     }
 }
コード例 #5
0
 [System.Runtime.InteropServices.DllImport("UnityCapturePlugin")] extern static void PrepareScreenshot(System.IntPtr instance, System.IntPtr nativetexture, int Timeout, bool UseDoubleBuffering, EResizeMode ResizeMode, EMirrorMode MirrorMode, bool IsLinearColorSpace, int width, int height, byte[] fileName);
コード例 #6
0
 [System.Runtime.InteropServices.DllImport("UnityCapturePlugin")] extern static void SetTextureFromUnity(System.IntPtr instance, System.IntPtr nativetexture, int Timeout, bool UseDoubleBuffering, EResizeMode ResizeMode, EMirrorMode MirrorMode, bool IsLinearColorSpace, int width, int height);