Example #1
0
 public UVWAddressing( TextureAddressing u, TextureAddressing v, TextureAddressing w )
     : this()
 {
     U = u;
     V = v;
     W = w;
 }
Example #2
0
        public static D3D9.TextureAddress ConvertEnum(TextureAddressing type, D3D9.Capabilities caps)
        {
            // convert from ours to D3D
            switch (type)
            {
            case TextureAddressing.Wrap:
                return(D3D9.TextureAddress.Wrap);

            case TextureAddressing.Mirror:
                return(D3D9.TextureAddress.Mirror);

            case TextureAddressing.Clamp:
                return(D3D9.TextureAddress.Clamp);

            case TextureAddressing.Border:
                if ((caps.TextureAddressCaps & D3D9.TextureAddressCaps.Border) == D3D9.TextureAddressCaps.Border)
                {
                    return(D3D9.TextureAddress.Border);
                }
                else
                {
                    return(D3D9.TextureAddress.Clamp);
                }
            }                                         // end switch

            return((D3D9.TextureAddress) 0x7fffffff); //D3DTADDRESS_FORCE_DWORD
        }
Example #3
0
		public UVWAddressing( TextureAddressing u, TextureAddressing v, TextureAddressing w )
			: this()
		{
			this.U = u;
			this.V = v;
			this.W = w;
		}
Example #4
0
        public static int ConvertEnum(TextureAddressing tam)
        {
            var type = 0;

            switch (tam)
            {
            case TextureAddressing.Wrap:
                type = Gl.GL_REPEAT;
                break;

            case TextureAddressing.Mirror:
                type = Gl.GL_MIRRORED_REPEAT;
                break;

            case TextureAddressing.Clamp:
                type = Gl.GL_CLAMP_TO_EDGE;
                break;

            case TextureAddressing.Border:
                type = Gl.GL_CLAMP_TO_BORDER;
                break;
            }

            return(type);
        }
 private int GetAddressing( TextureAddressing textureAddressing )
 {
     switch ( textureAddressing )
     {
         case TextureAddressing.Wrap: return ( int ) TextureWrapMode.Repeat;
         case TextureAddressing.Mirror: return ( int ) TextureWrapMode.MirroredRepeat;
         case TextureAddressing.Clamp: return ( int ) TextureWrapMode.Clamp;
         default: throw new ArgumentException ();
     }
 }
 private int ChangeAddress( TextureAddressing textureAddressing )
 {
     switch ( textureAddressing )
     {
         case TextureAddressing.Wrap: return ( int ) SharpDX.Direct3D9.TextureAddress.Wrap;
         case TextureAddressing.Mirror: return ( int ) SharpDX.Direct3D9.TextureAddress.Mirror;
         case TextureAddressing.Clamp: return ( int ) SharpDX.Direct3D9.TextureAddress.Clamp;
         default: throw new ArgumentException ();
     }
 }
Example #7
0
        public static TextureAddressMode Convert(TextureAddressing type)
        {
            // convert from ours to Xna
            switch (type)
            {
            case TextureAddressing.Wrap:
                return(TextureAddressMode.Wrap);

            case TextureAddressing.Mirror:
                return(TextureAddressMode.Mirror);

            case TextureAddressing.Clamp:
                return(TextureAddressMode.Clamp);
            }             // end switch

            return(0);
        }
Example #8
0
        protected string GetAddressingFunctionName(TextureAddressing mode)
        {
            switch (mode)
            {
            case TextureAddressing.Border:
                return(TextureAtlasSampler.SGXFuncAtlasBorder);

            case TextureAddressing.Clamp:
                return(TextureAtlasSampler.SGXFuncAtlasClamp);

            case TextureAddressing.Mirror:
                return(TextureAtlasSampler.SGXFuncAtlasMirror);

            case TextureAddressing.Wrap:
                return(TextureAtlasSampler.SGXFuncAtlasWrap);

            default:
                return(null);
            }
        }
        public static D3D.TextureAddress ConvertEnum(TextureAddressing type)
        {
            // convert from ours to D3D
            switch (type)
            {
            case TextureAddressing.Wrap:
                return(D3D.TextureAddress.Wrap);

            case TextureAddressing.Mirror:
                return(D3D.TextureAddress.Mirror);

            case TextureAddressing.Clamp:
                return(D3D.TextureAddress.Clamp);

            case TextureAddressing.Border:
                return(D3D.TextureAddress.Border);
            }             // end switch

            return(0);
        }
Example #10
0
 public SamplerState( ITexture t, TextureFilter f, TextureAddressing a, int al )
 {
     Texture = t; Filter = f; Addressing = a; AnisotropicLevel = al;
 }
Example #11
0
		private All GetTextureAddressingMode( TextureAddressing tam )
		{
			switch ( tam )
			{
				case TextureAddressing.Mirror:
					return All.MirroredRepeat;
				case TextureAddressing.Clamp:
				case TextureAddressing.Border:
					return All.ClampToEdge;
				case TextureAddressing.Wrap:
				default:
					return All.Repeat;
			}
		}
Example #12
0
		/// <summary>
		/// 
		/// </summary>
		/// <param name="stage"></param>
		/// <param name="texAddressingMode"></param>
		public override void SetTextureAddressingMode( int stage, TextureAddressing texAddressingMode )
		{
			if ( !ActivateGLTextureUnit( stage ) )
				return;

			OpenGL.TexParameter( All.Texture2D, All.TextureWrapS, (int)GetTextureAddressingMode( texAddressingMode ) );
			GLESConfig.GlCheckError( this );

			OpenGL.TexParameter( All.Texture2D, All.TextureWrapT, (int)GetTextureAddressingMode( texAddressingMode ) );
			GLESConfig.GlCheckError( this );

			ActivateGLTextureUnit( 0 );
		}
Example #13
0
		/// <summary>
		/// 
		/// </summary>
		/// <param name="tam"></param>
		/// <returns></returns>
		private All GetTextureAddressingMode( TextureAddressing tam )
		{
			switch ( tam )
			{
				case TextureAddressing.Clamp:
				case TextureAddressing.Border:
					return All.ClampToEdge;
				case TextureAddressing.Mirror:
#if GL_OES_texture_mirrored_repeat
					return All.MirroredRepeatOes;
#endif
				case TextureAddressing.Wrap:
				default:
					return All.Repeat;
			}
		}
        /// <summary>
        /// 
        /// </summary>
        /// <param name="stage"></param>
        /// <param name="texAddressingMode"></param>
        public override void SetTextureAddressingMode(int stage, TextureAddressing texAddressingMode)
        {
            if(lastAddressingMode[stage] == texAddressingMode) {
                //return;
            }

            lastAddressingMode[stage] = texAddressingMode;

            int type = 0;

            // find out the GL equivalent of out TextureAddressing enum
            switch(texAddressingMode) {
                case TextureAddressing.Wrap:
                    type = Gl.GL_REPEAT;
                    break;

                case TextureAddressing.Mirror:
                    type = Gl.GL_MIRRORED_REPEAT;
                    break;

                case TextureAddressing.Clamp:
                    type = Gl.GL_CLAMP_TO_EDGE;
                    break;
            } // end switch

            // set the GL texture wrap params for the specified unit
            Gl.glActiveTextureARB(Gl.GL_TEXTURE0 + stage);
            Gl.glTexParameteri(textureTypes[stage], Gl.GL_TEXTURE_WRAP_S, type);
            Gl.glTexParameteri(textureTypes[stage], Gl.GL_TEXTURE_WRAP_T, type);
            Gl.glTexParameteri(textureTypes[stage], Gl.GL_TEXTURE_WRAP_R, type);
            Gl.glActiveTextureARB(Gl.GL_TEXTURE0);
        }
Example #15
0
		public static int ConvertEnum( TextureAddressing tam )
		{
			var type = 0;

			switch ( tam )
			{
				case TextureAddressing.Wrap:
					type = Gl.GL_REPEAT;
					break;

				case TextureAddressing.Mirror:
					type = Gl.GL_MIRRORED_REPEAT;
					break;

				case TextureAddressing.Clamp:
					type = Gl.GL_CLAMP_TO_EDGE;
					break;

				case TextureAddressing.Border:
					type = Gl.GL_CLAMP_TO_BORDER;
					break;
			}

			return type;
		}
 /// <summary>
 ///		Tells the hardware how to treat texture coordinates.
 /// </summary>
 /// <param name="stage"></param>
 /// <param name="texAddressingMode"></param>
 public abstract void SetTextureAddressingMode(int stage, TextureAddressing texAddressingMode);
Example #17
0
		public static D3D.TextureAddress ConvertEnum( TextureAddressing type )
		{
			// convert from ours to D3D
			switch ( type )
			{
				case TextureAddressing.Wrap:
					return D3D.TextureAddress.Wrap;

				case TextureAddressing.Mirror:
					return D3D.TextureAddress.Mirror;

				case TextureAddressing.Clamp:
					return D3D.TextureAddress.Clamp;

				case TextureAddressing.Border:
					return D3D.TextureAddress.Border;
			} // end switch

			return 0;
		}
Example #18
0
		public static D3D9.TextureAddress ConvertEnum( TextureAddressing type, D3D9.Capabilities caps )
		{
			// convert from ours to D3D
			switch ( type )
			{
				case TextureAddressing.Wrap:
					return D3D9.TextureAddress.Wrap;

				case TextureAddressing.Mirror:
					return D3D9.TextureAddress.Mirror;

				case TextureAddressing.Clamp:
					return D3D9.TextureAddress.Clamp;

				case TextureAddressing.Border:
					if ( ( caps.TextureAddressCaps & D3D9.TextureAddressCaps.Border ) == D3D9.TextureAddressCaps.Border )
					{
						return D3D9.TextureAddress.Border;
					}
					else
					{
						return D3D9.TextureAddress.Clamp;
					}
			} // end switch

			return (D3D9.TextureAddress)0x7fffffff; //D3DTADDRESS_FORCE_DWORD
		}
        /// <summary>
        /// 
        /// </summary>
        /// <param name="stage"></param>
        /// <param name="texAddressingMode"></param>
        public override void SetTextureAddressingMode(int stage, TextureAddressing texAddressingMode)
        {
            if (!cache.samplerStateInitialized[stage])
                cache.EnsureSamplerStateInitialized(stage, device, d3dCaps);
            D3D.TextureAddress d3dMode = D3DHelper.ConvertEnum(texAddressingMode);

            // set the device sampler states accordingly
            if (cache.textureAddressingModeU[stage] != texAddressingMode) {
                cache.textureAddressingModeU[stage] = texAddressingMode;
                device.SamplerState[stage].AddressU = d3dMode;
            }
            if (cache.textureAddressingModeV[stage] != texAddressingMode) {
                cache.textureAddressingModeV[stage] = texAddressingMode;
                device.SamplerState[stage].AddressV = d3dMode;
            }
            if (cache.textureAddressingModeW[stage] != texAddressingMode) {
                cache.textureAddressingModeW[stage] = texAddressingMode;
                device.SamplerState[stage].AddressW = d3dMode;
            }
        }
Example #20
0
		/// <summary>
		/// Sets the texture addressing mode, i.e. what happens at uv values above 1.0.
		/// </summary>
		/// <remarks>
		/// The default is TAM_WRAP i.e. the texture repeats over values of 1.0.
		/// This applies for both the fixed-function and programmable pipelines.
		/// </remarks>
		public void SetTextureAddressingMode( TextureAddressing u, TextureAddressing v, TextureAddressing w )
		{
			this.texAddressingMode = new UVWAddressing( u, v, w );
		}
Example #21
0
		/// <summary>
		/// Sets the texture addressing mode, i.e. what happens at uv values above 1.0.
		/// </summary>
		/// <remarks>
		/// The default is TAM_WRAP i.e. the texture repeats over values of 1.0.
		/// This is a shortcut method which sets the addressing mode for all
		///	coordinates at once; you can also call the more specific method
		///	to set the addressing mode per coordinate.
		/// This applies for both the fixed-function and programmable pipelines.
		/// </remarks>
		/// <param name="tam"></param>
		public void SetTextureAddressingMode( TextureAddressing tam )
		{
			this.texAddressingMode = new UVWAddressing( tam );
		}
Example #22
0
 public UVWAddressing( TextureAddressing commonAddressing )
     : this()
 {
     U = V = W = commonAddressing;
 }
Example #23
0
		public static XFG.TextureAddressMode Convert( TextureAddressing type )
		{
			// convert from ours to Xna
			switch ( type )
			{
				case TextureAddressing.Wrap:
					return XFG.TextureAddressMode.Wrap;

				case TextureAddressing.Mirror:
					return XFG.TextureAddressMode.Mirror;

				case TextureAddressing.Clamp:
					return XFG.TextureAddressMode.Clamp;
			} // end switch

			return 0;
		}
Example #24
0
		public UVWAddressing( TextureAddressing commonAddressing )
			: this()
		{
			this.U = this.V = this.W = commonAddressing;
		}
 public void SetTextureAddressingMode(TextureAddressing u, TextureAddressing v, TextureAddressing w)
 {
     texAddressingMode.u = u;
     texAddressingMode.v = v;
     texAddressingMode.w = w;
 }