// Allows a rendertexture to be passed in public SFMovieCreationParams(String name, int ox, int oy, int width, int height, IntPtr pdata, int length, bool initFirstFrame, RenderTexture texture, Color32 bgColor, bool useBackgroundColor = false, ScaleModeType scaleModeType = ScaleModeType.SM_ShowAll, bool bAutoManageVP = true): this(name, ox, oy, width, height, pdata, length, initFirstFrame, bgColor, useBackgroundColor, scaleModeType, bAutoManageVP) { IsRenderToTexture = (texture != null); TexWidth = ((texture != null) ? (UInt32)texture.width : 0); TexHeight = ((texture != null) ? (UInt32)texture.height : 0); #if (UNITY_4_0) || (UNITY_4_1) if (texture) { #if UNITY_IPHONE TextureId = (uint)texture.GetNativeTextureID(); #else IntPtr texPtr = texture.GetNativeTexturePtr(); TextureId = (uint)(texPtr); #endif //UNITY_IPHONE } else { TextureId = 0; } #else TextureId = ((texture != null) ? (UInt32)texture.GetNativeTextureID() : 0); #if UNITY_STANDALONE_WIN if (SystemInfo.graphicsDeviceVersion[0] == 'D') { // SystemInfo.graphicsDeviceVersion starts with either "Direct3D" or "OpenGL". // We need to disable RTT on D3D+Windows because GetNativeTextureID() returns // a garbage value in D3D mode instead of zero, even though // GetNativeTextureID() is only supported in OpenGL mode. TextureId = 0; IsRenderToTexture = false; TexWidth = 0; TexHeight = 0; } #endif //UNITY_STANDALONE_WIN #endif //(UNITY_4_0) || (UNITY_4_1) // pData = Marshal.AllocCoTaskMem(Marshal.SizeOf(typeof(System.IntPtr))); // Marshal.WriteIntPtr(pData, pdata); }