public static RenderTargetSet RequestRenderTargetFromPool( RenderTargetSet.RenderTargetDescriptor descriptor ) { var result = m_RenderTargets.Where(rt => (rt.m_Used == false) && (rt.m_Descriptor == descriptor) ); if (result.Count() > 0) { var firstElement = result.First(); firstElement.m_Used = true; return firstElement.m_RT; } else { RenderTargetSet rt = RenderTargetSet.CreateRenderTargetSet(m_Device, descriptor); RenderTargetContainer containter = new RenderTargetContainer() { m_Descriptor = descriptor, m_RT = rt, m_Used = true, }; m_RenderTargets.Add(containter); return rt; } }
public static RenderTargetSet RequestRenderTargetFromPool(RenderTargetSet.RenderTargetDescriptor descriptor) { var result = m_RenderTargets.Where(rt => (rt.m_Used == false) && (rt.m_Descriptor == descriptor)); if (result.Count() > 0) { var firstElement = result.First(); firstElement.m_Used = true; return(firstElement.m_RT); } else { RenderTargetSet rt = RenderTargetSet.CreateRenderTargetSet(m_Device, descriptor); RenderTargetContainer containter = new RenderTargetContainer() { m_Descriptor = descriptor, m_RT = rt, m_Used = true, }; m_RenderTargets.Add(containter); return(rt); } }