public PipelineUniform TryGetUniform(string name) { PipelineUniform ret = null; Uniforms.TryGetValue(name, out ret); return(ret); }
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); }
public void SetPipelineUniform(PipelineUniform uniform, float value) { if (uniform.Owner == null) { return; //uniform was optimized out } GL.Uniform1((int)uniform.Sole.Opaque, value); }
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); }
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); } }
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)); } }
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); }
public void SetPipelineUniform(PipelineUniform uniform, float value) { if (uniform.Owner == null) return; //uniform was optimized out GL.Uniform1((int)uniform.Sole.Opaque, value); }
public void SetPipelineUniform(PipelineUniform uniform, Vector4 value) { GL.Uniform4((int)uniform.Sole.Opaque, value.X, value.Y, value.Z, value.W); }
public unsafe void SetPipelineUniformMatrix(PipelineUniform uniform, ref Matrix4 mat, bool transpose) { }
public unsafe void SetPipelineUniformMatrix(PipelineUniform uniform, ref Matrix4 mat, bool transpose) { fixed(Matrix4* pMat = &mat) GL.UniformMatrix4(uniform.Id.ToInt32(), 1, transpose, (float*)pMat); }
public unsafe void SetPipelineUniformMatrix(PipelineUniform uniform, Matrix4 mat, bool transpose) { GL.UniformMatrix4(uniform.Id.ToInt32(), 1, transpose, (float*)&mat); }
public void SetPipelineUniform(PipelineUniform uniform, bool value) { GL.Uniform1(uniform.Id.ToInt32(), value ? 1 : 0); }
public unsafe void SetPipelineUniform(PipelineUniform uniform, Vector4[] values) { fixed(Vector4 *pValues = &values[0]) GL.Uniform4((int)uniform.Sole.Opaque, values.Length, (float *)pValues); }
public void SetPipelineUniform(PipelineUniform uniform, Vector2 value) { GL.Uniform2((int)uniform.Sole.Opaque, value.X, value.Y); }
public void SetPipelineUniform(PipelineUniform uniform, bool value) { }
public void SetPipelineUniformSampler(PipelineUniform uniform, Texture2d tex) { }
public void SetPipelineUniform(PipelineUniform uniform, float value) { }
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); }
public void SetPipelineUniform(PipelineUniform uniform, Vector4 value) { GL.Uniform4(uniform.Id.ToInt32(), value.X, value.Y, value.Z, value.W); }
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); }
public void SetPipelineUniform(PipelineUniform uniform, bool value) { GL.Uniform1((int)uniform.Sole.Opaque, value ? 1 : 0); }
public void SetPipelineUniform(PipelineUniform uniform, Vector2 value) { GL.Uniform2(uniform.Id.ToInt32(), value.X, value.Y); }
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); }
public void SetPipelineUniform(PipelineUniform uniform, float value) { GL.Uniform1(uniform.Id.ToInt32(), value); }
public unsafe void SetPipelineUniform(PipelineUniform uniform, Vector4[] values) { fixed (Vector4* pValues = &values[0]) GL.Uniform4(uniform.Id.ToInt32(), values.Length, (float*)pValues); }
public unsafe void SetPipelineUniform(PipelineUniform uniform, Vector4[] values) { fixed (Vector4* pValues = &values[0]) GL.Uniform4((int)uniform.Sole.Opaque, values.Length, (float*)pValues); }
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()); }
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); } }
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); } }
public void SetPipelineUniform(PipelineUniform uniform, Vector2 value) { }
public unsafe void SetPipelineUniform(PipelineUniform uniform, Vector4[] values) { }
public void SetPipelineUniformSampler(PipelineUniform uniform, IntPtr texHandle) { }