// 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); }
public override void PostRender(RenderTexture stereoScreen) { SetTextureId((int)stereoScreen.GetNativeTexturePtr()); GL.IssuePluginEvent(kRenderEvent); }
public override void GetFrameData(RenderTexture rt, int frame) { fcAPI.fcGifGetFrameData(m_ctx, rt.GetNativeTexturePtr(), frame); }
void OnRenderImage(RenderTexture source, RenderTexture destination) { var linear = QualitySettings.activeColorSpace == ColorSpace.Linear; // Screen blit if (_renderMode == RenderMode.PreviewOnGameView && linear) Graphics.Blit(source, destination, gammaMaterial, 0); else if (_renderMode != RenderMode.SendOnly) Graphics.Blit(source, destination); // Publish the content of the source buffer. SetSourceFrame( _slotIndex, gameObject.name, source.GetNativeTexturePtr(), source.width, source.height, linear, _discardAlpha); InvokePublishEvent(_slotIndex); }
void OnRenderImage(RenderTexture source, RenderTexture destination) { if (_slotIndex >= 0 && _renderTexture) { if (Application.isEditor || _renderMode != RenderMode.SendOnly) { // Blit and publish. Graphics.Blit(source, destination); FunnelSetFrameTexture( _slotIndex, gameObject.name, (int)destination.GetNativeTexturePtr(), screenWidth, screenHeight, _renderTexture.sRGB, !_alphaChannel ); } else { // Publish only. FunnelSetFrameTexture( _slotIndex, gameObject.name, (int)source.GetNativeTexturePtr(), screenWidth, screenHeight, _renderTexture.sRGB, !_alphaChannel ); } // Push a plugin event to publish the screen. GL.IssuePluginEvent(PublishEventID + _slotIndex); } else { // Resources are not ready: just blit. Graphics.Blit(source, destination); } }
//set the render texture that this camera will render into //pass the native hardware pointer to the UnityRenderingPlugin for use in RenderManager public void SetRenderTexture(RenderTexture rt) { RenderToTexture = rt; Camera.targetTexture = RenderToTexture; RenderTexture.active = RenderToTexture; //Set the native texture pointer so we can access this texture from the plugin Eye.Viewer.DisplayController.RenderManager.SetEyeColorBuffer(RenderToTexture.GetNativeTexturePtr(), (int)Eye.EyeIndex); }
public static bool Write(RenderTexture dst_tex, IntPtr src, int src_num, tDataFormat src_fmt) { return tWriteTexture( dst_tex.GetNativeTexturePtr(), dst_tex.width, dst_tex.height, GetTextureFormat(dst_tex), src, src_num, src_fmt) != 0; }
public static int fcExrAddLayerTexture(fcEXRContext ctx, RenderTexture tex, int ch, string name, int id) { return fcExrAddLayerTextureDeferred(ctx, tex.GetNativeTexturePtr(), fcGetPixelFormat(tex.format), ch, name, false, id); }
public static int fcPngExportTexture(fcPNGContext ctx, string path, RenderTexture tex, int pos) { return fcPngExportTextureDeferred(ctx, path, tex.GetNativeTexturePtr(), tex.width, tex.height, fcGetPixelFormat(tex.format), false, pos); }
public static int fcMP4AddVideoFrameTexture(fcMP4Context ctx, RenderTexture tex, double time, int id) { return fcMP4AddVideoFrameTextureDeferred(ctx, tex.GetNativeTexturePtr(), fcGetPixelFormat(tex.format), time, id); }
public static int fcGifAddFrameTexture(fcGIFContext ctx, RenderTexture tex, bool keyframe, double timestamp, int id) { return fcGifAddFrameTextureDeferred(ctx, tex.GetNativeTexturePtr(), fcGetPixelFormat(tex.format), keyframe, timestamp, id); }