示例#1
0
        public override void Draw(int id, ITexture texture)
        {
            if (texture == null)
            {
                return;
            }

            base.Draw(id, texture);

            var dev = Device.Get();

            dev.OutputMerger.BlendState = models.ViewData.AlphaBlendState;

            shader.Run(GetTransform(), CalcFarplane(),
                       texture.GetSrView(models.Display.ActiveLayerMipmap),
                       models.Overlay.Overlay?.GetSrView(models.Display.ActiveLayerMipmap));

            dev.OutputMerger.BlendState = models.ViewData.DefaultBlendState;
        }
示例#2
0
        public override void Draw(ITexture texture)
        {
            if (texture == null)
            {
                return;
            }

            base.Draw(texture);

            var dev = Device.Get();

            dev.OutputMerger.BlendState = data.AlphaBlendState;

            shader.Run(data.Buffer, GetTransform(),
                       data.GetCrop(models, models.Display.ActiveLayer),
                       models.Display.Multiplier, CalcFarplane(), models.Display.DisplayNegative,
                       texture.GetSrView(models.Display.ActiveLayer, models.Display.ActiveMipmap),
                       data.GetSampler(models.Display.LinearInterpolation)
                       );

            dev.OutputMerger.BlendState = data.DefaultBlendState;
        }