Ejemplo n.º 1
0
 public unsafe void SetPipelineUniformMatrix(PipelineUniform uniform, Matrix4 mat, bool transpose)
 {
     //GL.UniformMatrix4((int)uniform.Opaque, 1, transpose, (float*)&mat);
     GL.Uniform4((int)uniform.Sole.Opaque + 0, 1, (float *)&mat.Row0);
     GL.Uniform4((int)uniform.Sole.Opaque + 1, 1, (float *)&mat.Row1);
     GL.Uniform4((int)uniform.Sole.Opaque + 2, 1, (float *)&mat.Row2);
     GL.Uniform4((int)uniform.Sole.Opaque + 3, 1, (float *)&mat.Row3);
 }
Ejemplo n.º 2
0
 public void SetPipelineUniform(PipelineUniform uniform, float value)
 {
     if (uniform.Owner == null)
     {
         return;                                    //uniform was optimized out
     }
     GL.Uniform1((int)uniform.Sole.Opaque, value);
 }
Ejemplo n.º 3
0
 public unsafe void SetPipelineUniformMatrix(PipelineUniform uniform, ref Matrix4 mat, bool transpose)
 {
     if (uniform.Owner == null)
     {
         return;                                    //uniform was optimized out
     }
     foreach (var ui in uniform.UniformInfos)
     {
         var uw = ui.Opaque as UniformWrapper;
         uw.CT.SetValue(dev, uw.EffectHandle, mat.ToSlimDXMatrix(!transpose));
     }
 }
Ejemplo n.º 4
0
 public void SetPipelineUniform(PipelineUniform uniform, float value)
 {
     if (uniform.Owner == null)
     {
         return;                                    //uniform was optimized out
     }
     foreach (var ui in uniform.UniformInfos)
     {
         var uw = ui.Opaque as UniformWrapper;
         uw.CT.SetValue(dev, uw.EffectHandle, value);
     }
 }
Ejemplo n.º 5
0
 public void SetPipelineUniformSampler(PipelineUniform uniform, IntPtr texHandle)
 {
     //set the sampler index into the uniform first
     //now bind the texture
     if (sActiveTexture != uniform.SamplerIndex)
     {
         sActiveTexture = uniform.SamplerIndex;
         var selectedUnit = (TextureUnit)((int)TextureUnit.Texture0 + uniform.SamplerIndex);
         GL.ActiveTexture(selectedUnit);
     }
     GL.BindTexture(TextureTarget.Texture2D, texHandle.ToInt32());
 }
Ejemplo n.º 6
0
        public void SetPipelineUniformSampler(PipelineUniform uniform, Texture2d tex)
        {
            int n = ((int)uniform.Sole.Opaque) >> 24;

            //set the sampler index into the uniform first
            if (sActiveTexture != n)
            {
                sActiveTexture = n;
                var selectedUnit = (TextureUnit)((int)TextureUnit.Texture0 + n);
                GL.ActiveTexture(selectedUnit);
            }

            // now bind the texture
            GL.BindTexture(TextureTarget.Texture2D, (int)tex.Opaque);
        }
Ejemplo n.º 7
0
        public unsafe void SetPipelineUniform(PipelineUniform uniform, Vector4[] values)
        {
            if (uniform.Owner == null)
            {
                return;                                    //uniform was optimized out
            }
            var v = new global::SlimDX.Vector4[values.Length];

            for (int i = 0; i < values.Length; i++)
            {
                v[i] = values[i].ToSlimDXVector4();
            }
            foreach (var ui in uniform.UniformInfos)
            {
                var uw = ui.Opaque as UniformWrapper;
                uw.CT.SetValue(dev, uw.EffectHandle, v);
            }
        }
Ejemplo n.º 8
0
        public void SetPipelineUniformSampler(PipelineUniform uniform, Texture2d tex)
        {
            if (uniform.Owner == null)
            {
                return;                                    //uniform was optimized out
            }
            var tw = tex.Opaque as TextureWrapper;

            foreach (var ui in uniform.UniformInfos)
            {
                var uw = ui.Opaque as UniformWrapper;
                dev.SetTexture(uw.SamplerIndex, tw.Texture);

                dev.SetSamplerState(uw.SamplerIndex, SamplerState.AddressU, tw.WrapClamp);
                dev.SetSamplerState(uw.SamplerIndex, SamplerState.AddressV, tw.WrapClamp);
                dev.SetSamplerState(uw.SamplerIndex, SamplerState.MinFilter, tw.MinFilter);
                dev.SetSamplerState(uw.SamplerIndex, SamplerState.MagFilter, tw.MagFilter);
            }
        }
Ejemplo n.º 9
0
 public unsafe void SetPipelineUniformMatrix(PipelineUniform uniform, ref Matrix4 mat, bool transpose)
 {
     fixed(Matrix4 *pMat = &mat)
     GL.UniformMatrix4(uniform.Id.ToInt32(), 1, transpose, (float *)pMat);
 }
Ejemplo n.º 10
0
 public void SetPipelineUniform(PipelineUniform uniform, Vector4 value)
 {
     GL.Uniform4(uniform.Id.ToInt32(), value.X, value.Y, value.Z, value.W);
 }
Ejemplo n.º 11
0
 public void SetPipelineUniform(PipelineUniform uniform, Vector2 value)
 {
     GL.Uniform2((int)uniform.Sole.Opaque, value.X, value.Y);
 }
Ejemplo n.º 12
0
 public void SetPipelineUniform(PipelineUniform uniform, float value)
 {
     GL.Uniform1(uniform.Id.ToInt32(), value);
 }
Ejemplo n.º 13
0
 public unsafe void SetPipelineUniform(PipelineUniform uniform, Vector4[] values)
 {
     fixed(Vector4 *pValues = &values[0])
     GL.Uniform4((int)uniform.Sole.Opaque, values.Length, (float *)pValues);
 }
Ejemplo n.º 14
0
 public unsafe void SetPipelineUniformMatrix(PipelineUniform uniform, ref Matrix4 mat, bool transpose)
 {
     fixed(Matrix4 *pMat = &mat)
     GL.UniformMatrix4((int)uniform.Sole.Opaque, 1, transpose, (float *)pMat);
 }
Ejemplo n.º 15
0
 public unsafe void SetPipelineUniformMatrix(PipelineUniform uniform, ref Matrix4 mat, bool transpose)
 {
 }
Ejemplo n.º 16
0
 public void SetPipelineUniform(PipelineUniform uniform, Vector2 value)
 {
 }
Ejemplo n.º 17
0
 public void SetPipelineUniform(PipelineUniform uniform, bool value)
 {
 }
Ejemplo n.º 18
0
 public void SetPipelineUniformSampler(PipelineUniform uniform, IntPtr texHandle)
 {
 }
Ejemplo n.º 19
0
 public void SetPipelineUniformMatrix(PipelineUniform uniform, Matrix4 mat, bool transpose)
 {
 }
Ejemplo n.º 20
0
 public void SetPipelineUniform(PipelineUniform uniform, bool value)
 {
     GL.Uniform1((int)uniform.Sole.Opaque, value ? 1 : 0);
 }
Ejemplo n.º 21
0
 public unsafe void SetPipelineUniformMatrix(PipelineUniform uniform, Matrix4 mat, bool transpose)
 {
     GL.UniformMatrix4(uniform.Id.ToInt32(), 1, transpose, (float *)&mat);
 }
Ejemplo n.º 22
0
 public unsafe void SetPipelineUniformMatrix(PipelineUniform uniform, Matrix4 mat, bool transpose)
 {
     GL.UniformMatrix4((int)uniform.Sole.Opaque, 1, transpose, (float *)&mat);
 }
Ejemplo n.º 23
0
 public void SetPipelineUniformSampler(PipelineUniform uniform, Texture2d tex)
 {
 }
Ejemplo n.º 24
0
 public void SetPipelineUniform(PipelineUniform uniform, Vector4 value)
 {
     GL.Uniform4((int)uniform.Sole.Opaque, value.X, value.Y, value.Z, value.W);
 }
Ejemplo n.º 25
0
 public void SetPipelineUniform(PipelineUniform uniform, Vector2 value)
 {
     GL.Uniform2(uniform.Id.ToInt32(), value.X, value.Y);
 }
Ejemplo n.º 26
0
 public void SetPipelineUniform(PipelineUniform uniform, float value)
 {
 }
Ejemplo n.º 27
0
 public unsafe void SetPipelineUniform(PipelineUniform uniform, Vector4[] values)
 {
     fixed(Vector4 *pValues = &values[0])
     GL.Uniform4(uniform.Id.ToInt32(), values.Length, (float *)pValues);
 }
Ejemplo n.º 28
0
 public unsafe void SetPipelineUniform(PipelineUniform uniform, Vector4[] values)
 {
 }
Ejemplo n.º 29
0
 public void SetPipelineUniform(PipelineUniform uniform, bool value)
 {
     GL.Uniform1(uniform.Id.ToInt32(), value ? 1 : 0);
 }