void InternalSetRtvs(IDepthStencil ds, MyDepthStencilAccess access, params IRtvBindable[] rtvs) { // Init DepthStencilView DepthStencilView dsv = null; if (ds == null) { dsv = null; } else { IDepthStencilInternal dsInternal = (IDepthStencilInternal)ds; switch (access) { case MyDepthStencilAccess.ReadWrite: dsv = dsInternal.Dsv; break; case MyDepthStencilAccess.DepthReadOnly: dsv = dsInternal.Dsv_roDepth; break; case MyDepthStencilAccess.StencilReadOnly: dsv = dsInternal.Dsv_roStencil; break; case MyDepthStencilAccess.ReadOnly: dsv = dsInternal.Dsv_ro; break; } } InternalSetRtvs(dsv, rtvs); }
internal void SetRtvs(MyGBuffer gbuffer, MyDepthStencilAccess access) { InternalSetRtvs(gbuffer.DepthStencil, access, gbuffer.GBuffer0, gbuffer.GBuffer1, gbuffer.GBuffer2); CheckErrors(); }
internal void SetRtv(IDepthStencil ds, MyDepthStencilAccess access, IRtvBindable rtv) { InternalSetRtvs(ds, access, rtv); CheckErrors(); }
internal void SetRtvs(IDepthStencil ds, MyDepthStencilAccess access, params IRtvBindable[] rtvs) { InternalSetRtvs(ds, access, rtvs); CheckErrors(); }
internal void SetRtv(IDepthStencil ds, MyDepthStencilAccess access) { InternalSetRtvs(ds, access); CheckErrors(); }