Exemple #1
0
        void SetShaderParameters(ShaderParameters parameters, Texture2D pixels, Texture2D palette)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }
            if (pixels == null)
            {
                throw new ArgumentNullException("pixels");
            }
            if (palette == null)
            {
                throw new ArgumentNullException("palette");
            }

            GetShaderParameter("xPixels").SetValue(pixels);
            GetShaderParameter("xPalette").SetValue(palette);

            GetShaderParameter("xFontColorIndex").SetValue(parameters.FontColorIndex);
            GetShaderParameter("xFontTotalColors").SetValue(parameters.FontTotalColors);

            if (parameters.PaletteFxEnable == true)
            {
                GetShaderParameter("xPalFx_Use").SetValue(true);
                GetShaderParameter("xPalFx_Add").SetValue(new Vector4(parameters.PaletteFxAdd, 0));
                GetShaderParameter("xPalFx_Mul").SetValue(new Vector4(parameters.PaletteFxMultiply, 1));
                GetShaderParameter("xPalFx_Invert").SetValue(parameters.PaletteFxInvert);
                GetShaderParameter("xPalFx_Color").SetValue(parameters.PaletteFxColor);

                Vector4 sincolor = parameters.PaletteFxSinAdd * (Single)Math.Sin(parameters.PaletteFxTime * MathHelper.TwoPi / parameters.PaletteFxSinAdd.W);
                sincolor.W = 0;

                GetShaderParameter("xPalFx_SinMath").SetValue(sincolor);
            }
            else
            {
                GetShaderParameter("xPalFx_Use").SetValue(false);
            }

            if (parameters.AfterImageEnable == true)
            {
                GetShaderParameter("xAI_Use").SetValue(true);
                GetShaderParameter("xAI_Invert").SetValue(parameters.AfterImageInvert);
                GetShaderParameter("xAI_color").SetValue(parameters.AfterImageColor);
                GetShaderParameter("xAI_preadd").SetValue(new Vector4(parameters.AfterImagePreAdd, 0));
                GetShaderParameter("xAI_contrast").SetValue(new Vector4(parameters.AfterImageConstrast, 1));
                GetShaderParameter("xAI_postadd").SetValue(new Vector4(parameters.AfterImagePostAdd, 0));
                GetShaderParameter("xAI_paladd").SetValue(new Vector4(parameters.AfterImagePaletteAdd, 0));
                GetShaderParameter("xAI_palmul").SetValue(new Vector4(parameters.AfterImagePaletteMultiply, 1));
                GetShaderParameter("xAI_number").SetValue(parameters.AfterImageNumber);
            }
            else
            {
                GetShaderParameter("xAI_Use").SetValue(false);
            }
        }
Exemple #2
0
        public DrawState(VideoSystem videosystem)
        {
            if (videosystem == null) throw new ArgumentNullException("videosystem");

            m_videosystem = videosystem;
            m_mode = DrawMode.Normal;
            m_pixels = null;
            m_palette = null;
            m_scissorrect = Rectangle.Empty;
            m_blending = new Blending();
            m_drawdata = new List<DrawData>();
            m_scale = Vector2.One;
            m_axis = Vector2.Zero;
            m_flip = SpriteEffects.None;
            m_rotation = 0;
            m_offset = Vector2.Zero;
            m_stretch = Vector2.One;
            m_parameters = new ShaderParameters();
        }
Exemple #3
0
        public DrawState(VideoSystem videosystem)
        {
            if (videosystem == null)
            {
                throw new ArgumentNullException("videosystem");
            }

            m_videosystem = videosystem;
            m_mode        = DrawMode.Normal;
            m_pixels      = null;
            m_palette     = null;
            m_scissorrect = Rectangle.Empty;
            m_blending    = new Blending();
            m_drawdata    = new List <DrawData>();
            m_scale       = Vector2.One;
            m_axis        = Vector2.Zero;
            m_flip        = SpriteEffects.None;
            m_rotation    = 0;
            m_offset      = Vector2.Zero;
            m_stretch     = Vector2.One;
            m_parameters  = new ShaderParameters();
        }
Exemple #4
0
        public DrawState(VideoSystem videosystem)
        {
            if (videosystem == null)
            {
                throw new ArgumentNullException(nameof(videosystem));
            }

            m_videosystem    = videosystem;
            Mode             = DrawMode.Normal;
            Pixels           = null;
            Palette          = null;
            ScissorRectangle = Rectangle.Empty;
            Blending         = new Blending();
            m_drawdata       = new List <DrawData>();
            Scale            = Vector2.One;
            Axis             = Vector2.Zero;
            Flip             = SpriteEffects.None;
            Rotation         = 0;
            Offset           = Vector2.Zero;
            Stretch          = Vector2.One;
            m_parameters     = new ShaderParameters();
        }
Exemple #5
0
        void SetShaderParameters(ShaderParameters parameters, Texture2D pixels, Texture2D palette)
        {
            if (parameters == null) throw new ArgumentNullException("parameters");
            if (pixels == null) throw new ArgumentNullException("pixels");
            if (palette == null) throw new ArgumentNullException("palette");

            GetShaderParameter("xPixels").SetValue(pixels);
            GetShaderParameter("xPalette").SetValue(palette);

            GetShaderParameter("xFontColorIndex").SetValue(parameters.FontColorIndex);
            GetShaderParameter("xFontTotalColors").SetValue(parameters.FontTotalColors);

            if (parameters.PaletteFxEnable == true)
            {
                GetShaderParameter("xPalFx_Use").SetValue(true);
                GetShaderParameter("xPalFx_Add").SetValue(new Vector4(parameters.PaletteFxAdd, 0));
                GetShaderParameter("xPalFx_Mul").SetValue(new Vector4(parameters.PaletteFxMultiply, 1));
                GetShaderParameter("xPalFx_Invert").SetValue(parameters.PaletteFxInvert);
                GetShaderParameter("xPalFx_Color").SetValue(parameters.PaletteFxColor);

                Vector4 sincolor = parameters.PaletteFxSinAdd * (Single)Math.Sin(parameters.PaletteFxTime * MathHelper.TwoPi / parameters.PaletteFxSinAdd.W);
                sincolor.W = 0;

                GetShaderParameter("xPalFx_SinMath").SetValue(sincolor);
            }
            else
            {
                GetShaderParameter("xPalFx_Use").SetValue(false);
            }

            if (parameters.AfterImageEnable == true)
            {
                GetShaderParameter("xAI_Use").SetValue(true);
                GetShaderParameter("xAI_Invert").SetValue(parameters.AfterImageInvert);
                GetShaderParameter("xAI_color").SetValue(parameters.AfterImageColor);
                GetShaderParameter("xAI_preadd").SetValue(new Vector4(parameters.AfterImagePreAdd, 0));
                GetShaderParameter("xAI_contrast").SetValue(new Vector4(parameters.AfterImageConstrast, 1));
                GetShaderParameter("xAI_postadd").SetValue(new Vector4(parameters.AfterImagePostAdd, 0));
                GetShaderParameter("xAI_paladd").SetValue(new Vector4(parameters.AfterImagePaletteAdd, 0));
                GetShaderParameter("xAI_palmul").SetValue(new Vector4(parameters.AfterImagePaletteMultiply, 1));
                GetShaderParameter("xAI_number").SetValue(parameters.AfterImageNumber);
            }
            else
            {
                GetShaderParameter("xAI_Use").SetValue(false);
            }
        }