public bool Equals(DefaultFragmentShaderOptions other)
		{
			if (ReferenceEquals(null, other))
			{
				return false;
			}
			if (ReferenceEquals(this, other))
			{
				return true;
			}
			return other.TEX0.Equals(this.TEX0) && other.TEX1.Equals(this.TEX1) && other.UV0_STREAM.Equals(this.UV0_STREAM)
			       && other.FAST_FOG.Equals(this.FAST_FOG) && other.UV1_STREAM.Equals(this.UV1_STREAM)
			       && other.COL_STREAM.Equals(this.COL_STREAM) && other.LIGHT_AMBIENT.Equals(this.LIGHT_AMBIENT)
			       && other.LIGHT_EMISSIVE.Equals(this.LIGHT_EMISSIVE) && other.LIGHT_DIFFUSE.Equals(this.LIGHT_DIFFUSE)
			       && other.LIGHT_SPECULAR.Equals(this.LIGHT_SPECULAR) && other.ALPHA_TEST.Equals(this.ALPHA_TEST)
			       && other.FOG.Equals(this.FOG) && other.ALPHA_BLEND == this.ALPHA_BLEND
			       && other.IW_GX_PLATFORM_TEGRA2.Equals(this.IW_GX_PLATFORM_TEGRA2) && other.EFFECT_PRESET == this.EFFECT_PRESET
			       && other.BLEND == this.BLEND;
		}
		public DefaultProgramOptions(DefaultVertexShaderOptions vs, DefaultFragmentShaderOptions fs)
		{
			this.vs = vs;
			this.fs = fs;
		}