public UVWAddressing( TextureAddressing u, TextureAddressing v, TextureAddressing w ) : this() { U = u; V = v; W = w; }
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 }
public UVWAddressing( TextureAddressing u, TextureAddressing v, TextureAddressing w ) : this() { this.U = u; this.V = v; this.W = w; }
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 (); } }
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); }
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); }
public SamplerState( ITexture t, TextureFilter f, TextureAddressing a, int al ) { Texture = t; Filter = f; Addressing = a; AnisotropicLevel = al; }
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; } }
/// <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 ); }
/// <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); }
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);
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; }
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; } }
/// <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 ); }
/// <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 ); }
public UVWAddressing( TextureAddressing commonAddressing ) : this() { U = V = W = commonAddressing; }
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; }
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; }