Shader used by BlurFilter
Inheritance: Sparrow.Core.Program
Exemplo n.º 1
0
        override protected void CreatePrograms()
        {
            if (_program == null)
            {
                string programName = BlurProgram.GetProgramName(false);
                _program = (BlurProgram)SparrowSharpApp.GetProgram(programName);
                if (_program == null)
                {
                    _program = new BlurProgram(false);
                    SparrowSharpApp.RegisterProgram(programName, _program);
                }
            }

            if (_tintedProgram == null)
            {
                string programName = BlurProgram.GetProgramName(true);
                _tintedProgram = (BlurProgram)SparrowSharpApp.GetProgram(programName);

                if (_tintedProgram == null)
                {
                    _tintedProgram = new BlurProgram(true);
                    SparrowSharpApp.RegisterProgram(programName, _tintedProgram);
                }
            }

            VertexPosID = _program.APosition;
            TexCoordsID = _program.ATexCoords;
        }
Exemplo n.º 2
0
        override protected void CreatePrograms()
        {
            if (_program == null)
            {
                string programName = BlurProgram.GetProgramName(false);
                _program = (BlurProgram)SparrowSharpApp.GetProgram(programName);
                if (_program == null)
                {
                    _program = new BlurProgram(false);
                    SparrowSharpApp.RegisterProgram(programName, _program);
                }
            }

            if (_tintedProgram == null)
            {
                string programName = BlurProgram.GetProgramName(true);
                _tintedProgram = (BlurProgram)SparrowSharpApp.GetProgram(programName);

                if (_tintedProgram == null)
                {
                    _tintedProgram = new BlurProgram(true);
                    SparrowSharpApp.RegisterProgram(programName, _tintedProgram);
                }
            }

            VertexPosID = _program.APosition;
            TexCoordsID = _program.ATexCoords;
        }
Exemplo n.º 3
0
        override protected void ActivateWithPass(int pass, Texture texture, Matrix mvpMatrix)
        {
            UpdateParamaters(pass, (int)texture.NativeWidth, (int)texture.NativeHeight);
            bool        isColorPass = _enableColorUniform && pass == NumPasses - 1;
            BlurProgram program     = isColorPass ? _tintedProgram : _program;

            GL.UseProgram(program.Name);
            Matrix4 mvp = mvpMatrix.ConvertToMatrix4();

            GL.UniformMatrix4(program.UMvpMatrix, false, ref mvp);

            GL.Uniform4(program.UOffsets, 1, _offsets);
            GL.Uniform4(program.UWeights, 1, _weights);

            if (isColorPass)
            {
                GL.Uniform4(program.UColor, 1, _color);
            }
        }