Пример #1
0
        public RenderTargetStackElement(IDxDepthStencil dsv, bool rodsv = false, params IDxRenderTarget[] rts)
        {
            this.DepthStencil  = dsv;
            this.RenderTargets = rts;
            this.rodsv         = rodsv;

            this.vp.X        = 0;
            this.vp.Y        = 0;
            this.vp.MinDepth = 0.0f;
            this.vp.MaxDepth = 1.0f;

            this.hasscissor = false;

            if (this.DepthStencil != null)
            {
                this.vp.Width  = this.DepthStencil.Width;
                this.vp.Height = this.DepthStencil.Height;
            }
            else
            {
                this.vp.Width  = rts[0].Width;
                this.vp.Height = rts[0].Height;
            }

            rtvs = new RenderTargetView[rts.Length];
            for (int i = 0; i < rts.Length; i++)
            {
                rtvs[i] = rts[i].RenderView;
            }
        }
Пример #2
0
        public void Push(IDxDepthStencil dsv, bool rodsv = false, params IDxRenderTarget[] rts)
        {
            RenderTargetStackElement elem = new RenderTargetStackElement(dsv, rodsv, rts);

            stack.Push(elem);
            this.Apply();
        }
Пример #3
0
        public void Push(ViewportF vp, Rectangle scissor, IDxDepthStencil dsv, bool rodsv = false, params IDxRenderTarget[] rts)
        {
            RenderTargetStackElement elem = new RenderTargetStackElement(vp, scissor, dsv, rodsv, rts);

            stack.Push(elem);
            this.Apply();
        }
Пример #4
0
        public RenderTargetStackElement(RenderTargetView renderView, Size2 renderSize)
        {
            this.DepthStencil = null;
            this.rtvs         = new RenderTargetView[] { renderView };

            this.vp.X        = 0;
            this.vp.Y        = 0;
            this.vp.MinDepth = 0.0f;
            this.vp.MaxDepth = 1.0f;
            this.vp.Width    = renderSize.Width;
            this.vp.Height   = renderSize.Height;
        }
Пример #5
0
        public RenderTargetStackElement(ViewportF vp, IDxDepthStencil dsv, bool rodsv = false, params IDxRenderTarget[] rts)
        {
            this.DepthStencil  = dsv;
            this.RenderTargets = rts;
            this.rodsv         = rodsv;

            this.vp         = vp;
            this.hasscissor = false;

            rtvs = new RenderTargetView[rts.Length];
            for (int i = 0; i < rts.Length; i++)
            {
                rtvs[i] = rts[i].RenderView;
            }
        }