//------------------------------------------------------------------------------ // // このコードはツールによって生成されました。 // ランタイム バージョン:4.0.30319.1 // // このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 // コードが再生成されるときに損失したりします。 // //------------------------------------------------------------------------------ using System; using System.Windows; using System.Windows.Media; using System.Windows.Media.Effects; using System.Windows.Media.Media3D; namespace Psychlops { public static partial class Figures { public class ShaderGrating : ShaderField { protected Shader.GratingProgram ps = null; public ShaderGrating() { initialize__ = initialize___; setParameters = setParameters__; } internal void initialize() { if (!initialized) { Main.canvas.beginInvoke(initialize___); initialized = true; } } internal void initialize___() { if (!initialized) { if (ps == null) { ps = new Shader.GratingProgram(); initializeShader(); } shader = ps; initialized = true; } } public double contrast = 1.0, wavelength = 20.0, phase = 0.0, orientation = 0.0; public ShaderGrating setSize(double s) { set(s, s); return this; } public ShaderGrating setSize(double h, double v) { set(h, v); return this; } public void setParameters__() { ps.Contrast = contrast; ps.WaveLength = wavelength; ps.Phase = phase; ps.Orientation = orientation; ps.SizeH = width; ps.SizeV = height; ps.Update(); } } public class ShaderPlaid : ShaderField { protected Shader.PlaidProgram ps = null; public ShaderPlaid() { initialize__ = initialize___; setParameters = setParameters__; } internal void initialize() { if (!initialized) { Main.canvas.beginInvoke(initialize___); initialized = true; } } internal void initialize___() { if (!initialized) { if (ps == null) { ps = new Shader.PlaidProgram(); initializeShader(); } shader = ps; initialized = true; } } public double contrast = 0.5, wavelength = 20.0, phase = 0.0, orientation = 0.0; public double contrast2 = 0.5, wavelength2 = 20.0, phase2 = 0.0, orientation2 = Math.PI / 4; public ShaderPlaid setSize(double s) { set(s, s); return this; } public ShaderPlaid setSize(double h, double v) { set(h, v); return this; } public void setParameters__() { ps.Contrast = contrast; ps.WaveLength = wavelength; ps.Phase = phase; ps.Orientation = orientation; ps.Size = width; ps.Contrast2 = contrast; ps.WaveLength2 = wavelength; ps.Phase2 = phase; ps.Orientation2 = orientation; ps.SizeH = width; ps.SizeV = height; ps.Update(); } } public class ShaderGabor : ShaderField { protected Shader.GaborProgram ps = null; public ShaderGabor() { initialize__ = initialize___; setParameters = setParameters__; } internal void initialize() { if (!initialized) { Main.canvas.beginInvoke(initialize___); initialized = true; } } internal void initialize___() { if (!initialized) { if (ps == null) { ps = new Shader.GaborProgram(); initializeShader(); } shader = ps; initialized = true; } } //public double contrast { get; set; } //public double frequency { get; set; } //public double phase { get; set; } //public double orientation { get; set; } public double contrast = 1.0, wavelength = 20.0, phase = 0.0, orientation = 0.0, alpha = 1.0; public ShaderGabor setSigma(double s) { set(s*8, s*8); return this; } public void setParameters__() { ps.Contrast = contrast; ps.WaveLength = wavelength; ps.Phase = phase; ps.Orientation = orientation; ps.Sigma = 4.0; ps.Size = width; ps.Alpha = alpha; ps.Update(); } } public class ShaderGaborAlpha : ShaderField { protected Shader.GaborAlphaProgram ps = null; public ShaderGaborAlpha() { initialize__ = initialize___; setParameters = setParameters__; } internal void initialize() { if (!initialized) { Main.canvas.beginInvoke(initialize___); initialized = true; } } internal void initialize___() { if (!initialized) { if (ps == null) { ps = new Shader.GaborAlphaProgram(); initializeShader(); } shader = ps; initialized = true; } } //public double contrast { get; set; } //public double frequency { get; set; } //public double phase { get; set; } //public double orientation { get; set; } public double contrast = 1.0, wavelength = 20.0, phase = 0.0, orientation = 0.0, alpha = 1.0; public ShaderGaborAlpha setSigma(double s) { set(s * 8, s * 8); return this; } public void setParameters__() { ps.Contrast = contrast; ps.WaveLength = wavelength; ps.Phase = phase; ps.Orientation = orientation; ps.Sigma = 4.0; ps.Size = width; ps.Alpha = alpha; ps.Update(); } } } namespace Shader { internal static partial class Connector { internal delegate void PixelShaderConnector(ShaderEffect q, Uri s); } public abstract class ShaderProgram : ShaderEffect { } #region GratingProgram public class GratingProgram : ShaderProgram { public static readonly Uri ps = new Uri(@"/PsychlopsSilverlight4;component/Shader/Grating.ps", UriKind.Relative); public static readonly DependencyProperty InputProperty = ShaderEffect.RegisterPixelShaderSamplerProperty("Input", typeof(GratingProgram), 0); public static readonly DependencyProperty ContrastProperty = DependencyProperty.Register("Contrast", typeof(double), typeof(GratingProgram), new PropertyMetadata(((double)(1D)), PixelShaderConstantCallback(1))); public static readonly DependencyProperty FrequencyProperty = DependencyProperty.Register("Frequency", typeof(double), typeof(GratingProgram), new PropertyMetadata(((double)(100D)), PixelShaderConstantCallback(2))); public static readonly DependencyProperty PhaseProperty = DependencyProperty.Register("Phase", typeof(double), typeof(GratingProgram), new PropertyMetadata(((double)(0D)), PixelShaderConstantCallback(3))); public static readonly DependencyProperty OrientationProperty = DependencyProperty.Register("Orientation", typeof(double), typeof(GratingProgram), new PropertyMetadata(((double)(0D)), PixelShaderConstantCallback(4))); public static readonly DependencyProperty SizeHProperty = DependencyProperty.Register("SizeH", typeof(double), typeof(GratingProgram), new PropertyMetadata(((double)(32D)), PixelShaderConstantCallback(5))); public static readonly DependencyProperty SizeVProperty = DependencyProperty.Register("SizeV", typeof(double), typeof(GratingProgram), new PropertyMetadata(((double)(32D)), PixelShaderConstantCallback(6))); public GratingProgram() { PixelShader pixelShader = new PixelShader(); pixelShader.UriSource = ps; this.PixelShader = pixelShader; this.UpdateShaderValue(InputProperty); this.UpdateShaderValue(ContrastProperty); this.UpdateShaderValue(FrequencyProperty); this.UpdateShaderValue(PhaseProperty); this.UpdateShaderValue(OrientationProperty); this.UpdateShaderValue(SizeHProperty); this.UpdateShaderValue(SizeVProperty); Size = 200; Contrast = 1.0; WaveLength = 100.0; Orientation = 0.0; SizeH = 32.0; SizeV = 32.0; } public void Update() { this.UpdateShaderValue(InputProperty); this.UpdateShaderValue(ContrastProperty); this.UpdateShaderValue(FrequencyProperty); this.UpdateShaderValue(PhaseProperty); this.UpdateShaderValue(OrientationProperty); this.UpdateShaderValue(SizeHProperty); this.UpdateShaderValue(SizeVProperty); } private double size__, wavelength__; public double Size { get { return size__; } set { size__ = value; setFrequency(); } } private void setFrequency() { double freq = size__ * 2.0 * Math.PI / (wavelength__); this.SetValue(FrequencyProperty, freq); } /// Amplitude of Grating public double Contrast { get { return ((double)(this.GetValue(ContrastProperty))) * 2.0; } set { this.SetValue(ContrastProperty, value / 2.0); } } /// Phase of Grating public double WaveLength { get { return wavelength__; } set { wavelength__ = value; setFrequency(); } } /// Phase of Grating public double Phase { get { return ((double)(this.GetValue(PhaseProperty))); } set { this.SetValue(PhaseProperty, value); } } /// Orientation of Grating public double Orientation { get { return ((double)(this.GetValue(OrientationProperty))); } set { this.SetValue(OrientationProperty, value); } } /// Width of envelope public double SizeH { get { return ((double)(this.GetValue(SizeHProperty))); } set { this.SetValue(SizeHProperty, value); } } /// Height of Figure public double SizeV { get { return ((double)(this.GetValue(SizeVProperty))); } set { this.SetValue(SizeVProperty, value); } } } #endregion #region PlaidProgram public class PlaidProgram : ShaderProgram { public static readonly Uri ps = new Uri(@"/PsychlopsSilverlight4;component/Shader/Plaid.ps", UriKind.Relative); public static readonly DependencyProperty InputProperty = ShaderEffect.RegisterPixelShaderSamplerProperty("Input", typeof(PlaidProgram), 0); public static readonly DependencyProperty ContrastProperty = DependencyProperty.Register("Contrast", typeof(double), typeof(PlaidProgram), new PropertyMetadata(((double)(0.5D)), PixelShaderConstantCallback(1))); public static readonly DependencyProperty FrequencyProperty = DependencyProperty.Register("Frequency", typeof(double), typeof(PlaidProgram), new PropertyMetadata(((double)(100D)), PixelShaderConstantCallback(2))); public static readonly DependencyProperty PhaseProperty = DependencyProperty.Register("Phase", typeof(double), typeof(PlaidProgram), new PropertyMetadata(((double)(0D)), PixelShaderConstantCallback(3))); public static readonly DependencyProperty OrientationProperty = DependencyProperty.Register("Orientation", typeof(double), typeof(PlaidProgram), new PropertyMetadata(((double)(0D)), PixelShaderConstantCallback(4))); public static readonly DependencyProperty Contrast2Property = DependencyProperty.Register("Contrast2", typeof(double), typeof(PlaidProgram), new PropertyMetadata(((double)(0.5D)), PixelShaderConstantCallback(5))); public static readonly DependencyProperty Frequency2Property = DependencyProperty.Register("Frequency2", typeof(double), typeof(PlaidProgram), new PropertyMetadata(((double)(100D)), PixelShaderConstantCallback(6))); public static readonly DependencyProperty Phase2Property = DependencyProperty.Register("Phase2", typeof(double), typeof(PlaidProgram), new PropertyMetadata(((double)(0D)), PixelShaderConstantCallback(7))); public static readonly DependencyProperty Orientation2Property = DependencyProperty.Register("Orientation2", typeof(double), typeof(PlaidProgram), new PropertyMetadata(((double)(0.785398D)), PixelShaderConstantCallback(8))); public static readonly DependencyProperty SizeHProperty = DependencyProperty.Register("SizeH", typeof(double), typeof(PlaidProgram), new PropertyMetadata(((double)(32D)), PixelShaderConstantCallback(9))); public static readonly DependencyProperty SizeVProperty = DependencyProperty.Register("SizeV", typeof(double), typeof(PlaidProgram), new PropertyMetadata(((double)(32D)), PixelShaderConstantCallback(10))); public PlaidProgram() { PixelShader pixelShader = new PixelShader(); pixelShader.UriSource = ps; this.PixelShader = pixelShader; this.UpdateShaderValue(InputProperty); this.UpdateShaderValue(ContrastProperty); this.UpdateShaderValue(FrequencyProperty); this.UpdateShaderValue(PhaseProperty); this.UpdateShaderValue(OrientationProperty); this.UpdateShaderValue(Contrast2Property); this.UpdateShaderValue(Frequency2Property); this.UpdateShaderValue(Phase2Property); this.UpdateShaderValue(Orientation2Property); this.UpdateShaderValue(SizeHProperty); this.UpdateShaderValue(SizeVProperty); Size = 200; Contrast = 0.5; WaveLength = 100.0; Phase = 0.0; Orientation = 0.0; Contrast2 = 0.5; WaveLength2 = 100.0; Phase2 = 0.0; Orientation2 = Math.PI/4; SizeH = 32.0; SizeV = 32.0; } public void Update() { this.UpdateShaderValue(InputProperty); this.UpdateShaderValue(ContrastProperty); this.UpdateShaderValue(FrequencyProperty); this.UpdateShaderValue(PhaseProperty); this.UpdateShaderValue(OrientationProperty); this.UpdateShaderValue(Contrast2Property); this.UpdateShaderValue(Frequency2Property); this.UpdateShaderValue(Phase2Property); this.UpdateShaderValue(Orientation2Property); this.UpdateShaderValue(SizeHProperty); this.UpdateShaderValue(SizeVProperty); } private double size__, wavelength__, wavelength2__; public double Size { get { return size__; } set { size__ = value; setFrequency(); } } private void setFrequency() { double freq = size__ * 2.0 * Math.PI / (wavelength__); this.SetValue(FrequencyProperty, freq); double freq2 = size__ * 2.0 * Math.PI / (wavelength2__); this.SetValue(Frequency2Property, freq); } /// Amplitude of Grating public double Contrast { get { return ((double)(this.GetValue(ContrastProperty))) * 2.0; } set { this.SetValue(ContrastProperty, value / 2.0); } } /// Phase of Grating public double WaveLength { get { return wavelength__; } set { wavelength__ = value; setFrequency(); } } /// Phase of Grating public double Phase { get { return ((double)(this.GetValue(PhaseProperty))); } set { this.SetValue(PhaseProperty, value); } } /// Orientation of Grating public double Orientation { get { return ((double)(this.GetValue(OrientationProperty))); } set { this.SetValue(OrientationProperty, value); } } /// Amplitude of Grating public double Contrast2 { get { return ((double)(this.GetValue(Contrast2Property))) * 2.0; } set { this.SetValue(Contrast2Property, value / 2.0); } } /// Phase of Grating public double WaveLength2 { get { return wavelength2__; } set { wavelength2__ = value; setFrequency(); } } /// Phase2 of Grating public double Phase2 { get { return ((double)(this.GetValue(Phase2Property))); } set { this.SetValue(Phase2Property, value); } } /// Orientation2 of Grating public double Orientation2 { get { return ((double)(this.GetValue(Orientation2Property))); } set { this.SetValue(Orientation2Property, value); } } /// Width of envelope public double SizeH { get { return ((double)(this.GetValue(SizeHProperty))); } set { this.SetValue(SizeHProperty, value); } } /// Height of Figure public double SizeV { get { return ((double)(this.GetValue(SizeVProperty))); } set { this.SetValue(SizeVProperty, value); } } } #endregion #region GaborProgram public class GaborProgram : ShaderProgram { public static readonly Uri ps = new Uri(@"/PsychlopsSilverlight4;component/Shader/Gabor.ps", UriKind.Relative); public static readonly DependencyProperty InputProperty = ShaderEffect.RegisterPixelShaderSamplerProperty("Input", typeof(GaborProgram), 0); public static readonly DependencyProperty ContrastProperty = DependencyProperty.Register("Contrast", typeof(double), typeof(GaborProgram), new PropertyMetadata(((double)(1D)), PixelShaderConstantCallback(1))); public static readonly DependencyProperty FrequencyProperty = DependencyProperty.Register("Frequency", typeof(double), typeof(GaborProgram), new PropertyMetadata(((double)(100D)), PixelShaderConstantCallback(2))); public static readonly DependencyProperty PhaseProperty = DependencyProperty.Register("Phase", typeof(double), typeof(GaborProgram), new PropertyMetadata(((double)(0D)), PixelShaderConstantCallback(3))); public static readonly DependencyProperty OrientationProperty = DependencyProperty.Register("Orientation", typeof(double), typeof(GaborProgram), new PropertyMetadata(((double)(0D)), PixelShaderConstantCallback(4))); public static readonly DependencyProperty SigmaProperty = DependencyProperty.Register("Sigma", typeof(double), typeof(GaborProgram), new PropertyMetadata(((double)(4D)), PixelShaderConstantCallback(5))); public static readonly DependencyProperty AlphaProperty = DependencyProperty.Register("Alpha", typeof(double), typeof(GaborProgram), new PropertyMetadata(((double)(1D)), PixelShaderConstantCallback(6))); public GaborProgram() { PixelShader pixelShader = new PixelShader(); pixelShader.UriSource = ps; this.PixelShader = pixelShader; this.UpdateShaderValue(InputProperty); this.UpdateShaderValue(ContrastProperty); this.UpdateShaderValue(FrequencyProperty); this.UpdateShaderValue(PhaseProperty); this.UpdateShaderValue(OrientationProperty); this.UpdateShaderValue(SigmaProperty); this.UpdateShaderValue(AlphaProperty); Size = 200; Contrast = 1.0; WaveLength = 100.0; Orientation = 0.0; Sigma = 4.0; Alpha = 1.0; } public void Update() { this.UpdateShaderValue(InputProperty); this.UpdateShaderValue(ContrastProperty); this.UpdateShaderValue(FrequencyProperty); this.UpdateShaderValue(PhaseProperty); this.UpdateShaderValue(OrientationProperty); this.UpdateShaderValue(SigmaProperty); this.UpdateShaderValue(AlphaProperty); } private double size__, wavelength__; public double Size { get { return size__; } set { size__ = value; setFrequency(); } } private void setFrequency() { double freq = size__ * 2.0 * Math.PI / (wavelength__); this.SetValue(FrequencyProperty, freq); } /// Amplitude of Grating public double Contrast { get { return ((double)(this.GetValue(ContrastProperty))) * 2.0; } set { this.SetValue(ContrastProperty, value / 2.0); } } /// Phase of Grating public double WaveLength { get { return wavelength__; } set { wavelength__ = value; setFrequency(); } } /// Phase of Grating public double Phase { get { return ((double)(this.GetValue(PhaseProperty))); } set { this.SetValue(PhaseProperty, value); } } /// Orientation of Grating public double Orientation { get { return ((double)(this.GetValue(OrientationProperty))); } set { this.SetValue(OrientationProperty, value); } } /// Half bandwidth of envelope public double Sigma { get { return ((double)(this.GetValue(SigmaProperty))); } set { this.SetValue(SigmaProperty, value); } } /// Transparency of Figure public double Alpha { get { return ((double)(this.GetValue(AlphaProperty))); } set { this.SetValue(AlphaProperty, value); } } } #endregion #region GaborAlphaProgram public class GaborAlphaProgram : ShaderProgram { public static readonly Uri ps = new Uri(@"/PsychlopsSilverlight4;component/Shader/GaborAlpha.ps", UriKind.Relative); public static readonly DependencyProperty InputProperty = ShaderEffect.RegisterPixelShaderSamplerProperty("Input", typeof(GaborAlphaProgram), 0); public static readonly DependencyProperty ContrastProperty = DependencyProperty.Register("Contrast", typeof(double), typeof(GaborAlphaProgram), new PropertyMetadata(((double)(1D)), PixelShaderConstantCallback(1))); public static readonly DependencyProperty FrequencyProperty = DependencyProperty.Register("Frequency", typeof(double), typeof(GaborAlphaProgram), new PropertyMetadata(((double)(100D)), PixelShaderConstantCallback(2))); public static readonly DependencyProperty PhaseProperty = DependencyProperty.Register("Phase", typeof(double), typeof(GaborAlphaProgram), new PropertyMetadata(((double)(0D)), PixelShaderConstantCallback(3))); public static readonly DependencyProperty OrientationProperty = DependencyProperty.Register("Orientation", typeof(double), typeof(GaborAlphaProgram), new PropertyMetadata(((double)(0D)), PixelShaderConstantCallback(4))); public static readonly DependencyProperty SigmaProperty = DependencyProperty.Register("Sigma", typeof(double), typeof(GaborAlphaProgram), new PropertyMetadata(((double)(4D)), PixelShaderConstantCallback(5))); public static readonly DependencyProperty AlphaProperty = DependencyProperty.Register("Alpha", typeof(double), typeof(GaborAlphaProgram), new PropertyMetadata(((double)(1D)), PixelShaderConstantCallback(6))); public GaborAlphaProgram() { PixelShader pixelShader = new PixelShader(); pixelShader.UriSource = ps; this.PixelShader = pixelShader; this.UpdateShaderValue(InputProperty); this.UpdateShaderValue(ContrastProperty); this.UpdateShaderValue(FrequencyProperty); this.UpdateShaderValue(PhaseProperty); this.UpdateShaderValue(OrientationProperty); this.UpdateShaderValue(SigmaProperty); this.UpdateShaderValue(AlphaProperty); Size = 200; Contrast = 1.0; WaveLength = 100.0; Orientation = 0.0; Sigma = 4.0; Alpha = 1.0; } public void Update() { this.UpdateShaderValue(InputProperty); this.UpdateShaderValue(ContrastProperty); this.UpdateShaderValue(FrequencyProperty); this.UpdateShaderValue(PhaseProperty); this.UpdateShaderValue(OrientationProperty); this.UpdateShaderValue(SigmaProperty); this.UpdateShaderValue(AlphaProperty); } private double size__, wavelength__; public double Size { get { return size__; } set { size__ = value; setFrequency(); } } private void setFrequency() { double freq = size__ * 2.0 * Math.PI / (wavelength__); this.SetValue(FrequencyProperty, freq); } /// Amplitude of Grating public double Contrast { get { return ((double)(this.GetValue(ContrastProperty))) * 2.0; } set { this.SetValue(ContrastProperty, value / 2.0); } } /// Phase of Grating public double WaveLength { get { return wavelength__; } set { wavelength__ = value; setFrequency(); } } /// Phase of Grating public double Phase { get { return ((double)(this.GetValue(PhaseProperty))); } set { this.SetValue(PhaseProperty, value); } } /// Orientation of Grating public double Orientation { get { return ((double)(this.GetValue(OrientationProperty))); } set { this.SetValue(OrientationProperty, value); } } /// Half bandwidth of envelope public double Sigma { get { return ((double)(this.GetValue(SigmaProperty))); } set { this.SetValue(SigmaProperty, value); } } /// Transparency of Figure public double Alpha { get { return ((double)(this.GetValue(AlphaProperty))); } set { this.SetValue(AlphaProperty, value); } } } #endregion } }