using System; using UnityEngine; namespace GCSeries.zView { public abstract class GVirtualCamera : MonoBehaviour { /// /// Set up the VirtualCamera. /// /// /// /// Performs any setup related operations specific to the mode the /// VirtualCamera is associated with. This method will be called once /// per ModeSetupPhase when the specified connection has transitioned /// to the ConnectionState.ModeSetup state. /// /// /// /// A reference to the zView API Monobehaviour script. /// /// /// The connection to perform the VirtualCamera's setup phase for. /// /// /// The mode setup phase for the specified connection. /// public abstract void SetUp(GView zView, IntPtr connection, GView.ModeSetupPhase phase); /// /// Tear down the VirtualCamera. /// /// /// /// Performs any cleanup related operations specific to the mode the /// VirtualCamera is associated with. /// public abstract void TearDown(); /// /// Render a single frame. /// /// /// /// A reference to the zView API Monobehaviour script. /// /// /// The connection to perform the VirtualCamera's render for. /// /// /// The received frame from the specified connection. /// public abstract void Render(GView zView, IntPtr connection, IntPtr receivedFrame); /// /// Get the native texture pointer associated with the VirtualCamera's /// offscreen render texture. /// /// /// /// The native texture pointer associated with the VirtualCamera's offscreen /// render texture. /// public abstract IntPtr[] GetNativeTexturePtr(out int count); /// /// Get VirtualCamera's offscreen render texture. /// /// VirtualCamera's render texture. public abstract RenderTexture[] GetRenderTexture(out int count); } }