public RenderTargetArrayHolder(Device device, RenderTargetDescription description,
            RendererConfiguration rendererConfiguration, DeferredShadingConfiguration deferredShadingConfiguration)
        {
            Debug.Assert(device != null && description != null && rendererConfiguration != null &&
                         deferredShadingConfiguration != null);

            this.device = device;
            this.description = description;
            this.rendererConfiguration = rendererConfiguration;
            this.deferredShadingConfiguration = deferredShadingConfiguration;

            renderTargetViewsReadOnly = new ReadOnlyCollection<RenderTargetView>(renderTargetViews);

            CreateTexture();
            CreateRenderTargetViews();
            CreateShaderResourceView();
        }