1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
-
- namespace NRKernal.Experimental.StreammingCast
- {
- using NRKernal.Record;
- using UnityEngine;
-
- public class ObserverViewBlender : IFrameConsumer
- {
-
- protected Camera m_TargetCamera;
-
- protected IEncoder m_Encoder;
-
-
- public int Width
- {
- get;
- private set;
- }
-
-
- public int Height
- {
- get;
- private set;
- }
-
-
- public Texture BlendTexture
- {
- get
- {
- return m_TargetCamera?.targetTexture;
- }
- }
-
-
-
-
- public virtual void Config(Camera camera, IEncoder encoder, CameraParameters param)
- {
- Width = param.cameraResolutionWidth;
- Height = param.cameraResolutionHeight;
- m_TargetCamera = camera;
- m_Encoder = encoder;
- m_TargetCamera.enabled = true;
-
- m_TargetCamera.backgroundColor = new Color(0, 0, 0, 0);
- m_TargetCamera.targetTexture = UnityExtendedUtility.CreateRenderTexture(Width, Height, 24, RenderTextureFormat.ARGB32);
- m_TargetCamera.depthTextureMode = DepthTextureMode.Depth;
- }
-
-
- public virtual void OnFrame(UniversalTextureFrame frame)
- {
-
- m_Encoder.Commit((RenderTexture)frame.textures[0], frame.timeStamp);
- }
-
-
-
- public void Dispose()
- {
- }
- }
- }
|