private void SetActiveRT(CommandBuffer command, RenderTargetIdentifier renderTargetIdentifier) { if (_activeRTI != _sourceRTI) { TempRTManager.Release(command, _activeRTI); } _activeRTI = renderTargetIdentifier; }
public void BlitBackToSource(CommandBuffer cmd) { if (_activeRTI == _sourceRTI) { return; } cmd.Blit(_activeRTI, _sourceRTI); TempRTManager.Release(cmd, _activeRTI); _activeRTI = _sourceRTI; }
public void BlitAndSwap(CommandBuffer cmd, Material material, int pass = 0) { var from = _activeRTI; RenderTargetIdentifier to; if (_activeRTI == _sourceRTI) { to = TempRTManager.Request(cmd, sourceRenderTextureDescriptor); } else { to = _sourceRTI; } if (material == null) { cmd.Blit(from, to); } else { cmd.Blit(from, to, material, pass); } SetActiveRT(cmd, to); }
public void ReleaseTemporaryRT(CommandBuffer command, RenderTargetIdentifier id) { TempRTManager.Release(command, id); }
public RenderTargetIdentifier GetTemporaryRT(CommandBuffer cmd, RenderTextureDescriptor descriptor, FilterMode filter = FilterMode.Point) { var id = TempRTManager.Request(cmd, descriptor, filter); return(id); }
public RenderTargetIdentifier GetTemporaryRT(CommandBuffer cmd) { var id = TempRTManager.Request(cmd, sourceRenderTextureDescriptor); return(id); }
internal void Release(CommandBuffer command) { TempRTManager.EndFrame(); }