diff --git a/stepmania/src/Model.cpp b/stepmania/src/Model.cpp index ba6240a2a9..60043019f9 100644 --- a/stepmania/src/Model.cpp +++ b/stepmania/src/Model.cpp @@ -368,7 +368,7 @@ void Model::DrawPrimitives() Actor::SetTextureRenderStates(); // set Actor-specified render states DISPLAY->SetSphereEnvironmentMapping( mat.alpha.m_bSphereMapped ); DISPLAY->SetTextureMode( TextureUnit_2, TextureMode_Add ); - DISPLAY->SetTextureFiltering( true ); + DISPLAY->SetTextureFiltering( TextureUnit_2, true ); } else { @@ -403,7 +403,7 @@ void Model::DrawPrimitives() DISPLAY->SetSphereEnvironmentMapping( mat.alpha.m_bSphereMapped ); // UGLY: This overrides the Actor's BlendMode DISPLAY->SetBlendMode( BLEND_ADD ); - DISPLAY->SetTextureFiltering( true ); + DISPLAY->SetTextureFiltering( TextureUnit_1, true ); DrawMesh( i ); } } diff --git a/stepmania/src/RageDisplay.cpp b/stepmania/src/RageDisplay.cpp index 5b980f8d6a..01d938c88f 100644 --- a/stepmania/src/RageDisplay.cpp +++ b/stepmania/src/RageDisplay.cpp @@ -247,7 +247,7 @@ void RageDisplay::SetDefaultRenderStates() SetZTestMode( ZTEST_OFF ); SetAlphaTest( true ); SetBlendMode( BLEND_NORMAL ); - SetTextureFiltering( true ); + SetTextureFiltering( TextureUnit_1, true ); SetZBias( 0 ); LoadMenuPerspective( 0, 640, 480, 320, 240 ); // 0 FOV = ortho } diff --git a/stepmania/src/RageDisplay.h b/stepmania/src/RageDisplay.h index 9fd3a531bc..b147257049 100644 --- a/stepmania/src/RageDisplay.h +++ b/stepmania/src/RageDisplay.h @@ -206,7 +206,7 @@ public: virtual void SetTextureMode( TextureUnit tu, TextureMode tm ) = 0; virtual void SetTextureWrapping( bool b ) = 0; virtual int GetMaxTextureSize() const = 0; - virtual void SetTextureFiltering( bool b ) = 0; + virtual void SetTextureFiltering( TextureUnit tu, bool b ) = 0; bool SupportsRenderToTexture() const { return false; } diff --git a/stepmania/src/RageDisplay_D3D.cpp b/stepmania/src/RageDisplay_D3D.cpp index 2e07c826e8..5df1304a40 100644 --- a/stepmania/src/RageDisplay_D3D.cpp +++ b/stepmania/src/RageDisplay_D3D.cpp @@ -1193,13 +1193,13 @@ void RageDisplay_D3D::SetTextureMode( TextureUnit tu, TextureMode tm ) } } -void RageDisplay_D3D::SetTextureFiltering( bool b ) +void RageDisplay_D3D::SetTextureFiltering( TextureUnit tu, bool b ) { - if( g_currentTextureUnit >= (int) g_DeviceCaps.MaxSimultaneousTextures ) // not supported + if( tu >= (int) g_DeviceCaps.MaxSimultaneousTextures ) // not supported return; - g_pd3dDevice->SetTextureStageState( g_currentTextureUnit, D3DTSS_MINFILTER, b ? D3DTEXF_LINEAR : D3DTEXF_POINT ); - g_pd3dDevice->SetTextureStageState( g_currentTextureUnit, D3DTSS_MAGFILTER, b ? D3DTEXF_LINEAR : D3DTEXF_POINT ); + g_pd3dDevice->SetTextureStageState( tu, D3DTSS_MINFILTER, b ? D3DTEXF_LINEAR : D3DTEXF_POINT ); + g_pd3dDevice->SetTextureStageState( tu, D3DTSS_MAGFILTER, b ? D3DTEXF_LINEAR : D3DTEXF_POINT ); } void RageDisplay_D3D::SetBlendMode( BlendMode mode ) diff --git a/stepmania/src/RageDisplay_D3D.h b/stepmania/src/RageDisplay_D3D.h index 71e4fa4fd8..1e550fb892 100644 --- a/stepmania/src/RageDisplay_D3D.h +++ b/stepmania/src/RageDisplay_D3D.h @@ -39,7 +39,7 @@ public: void SetTextureMode( TextureUnit tu, TextureMode tm ); void SetTextureWrapping( bool b ); int GetMaxTextureSize() const; - void SetTextureFiltering( bool b); + void SetTextureFiltering( TextureUnit tu, bool b ); bool IsZWriteEnabled() const; bool IsZTestEnabled() const; void SetZWrite( bool b ); diff --git a/stepmania/src/RageDisplay_Null.h b/stepmania/src/RageDisplay_Null.h index 702ac792d1..59fef45f9c 100644 --- a/stepmania/src/RageDisplay_Null.h +++ b/stepmania/src/RageDisplay_Null.h @@ -36,7 +36,7 @@ public: void SetTextureMode( TextureUnit tu, TextureMode tm ) { } void SetTextureWrapping( bool b ) { } int GetMaxTextureSize() const { return 2048; } - void SetTextureFiltering( bool b) { } + void SetTextureFiltering( TextureUnit tu, bool b ) { } bool IsZWriteEnabled() const { return false; } bool IsZTestEnabled() const { return false; } void SetZWrite( bool b ) { } diff --git a/stepmania/src/RageDisplay_OGL.cpp b/stepmania/src/RageDisplay_OGL.cpp index a99ac33cc8..6f37e75ad0 100644 --- a/stepmania/src/RageDisplay_OGL.cpp +++ b/stepmania/src/RageDisplay_OGL.cpp @@ -1442,7 +1442,7 @@ void RageDisplay_OGL::SetTextureMode( TextureUnit tu, TextureMode tm ) } } -void RageDisplay_OGL::SetTextureFiltering( bool b ) +void RageDisplay_OGL::SetTextureFiltering( TextureUnit tu, bool b ) { } diff --git a/stepmania/src/RageDisplay_OGL.h b/stepmania/src/RageDisplay_OGL.h index d77c544567..df842483dc 100644 --- a/stepmania/src/RageDisplay_OGL.h +++ b/stepmania/src/RageDisplay_OGL.h @@ -46,7 +46,7 @@ public: void SetTextureMode( TextureUnit tu, TextureMode tm ); void SetTextureWrapping( bool b ); int GetMaxTextureSize() const; - void SetTextureFiltering( bool b); + void SetTextureFiltering( TextureUnit tu, bool b ); bool SupportsRenderToTexture() const; unsigned CreateRenderTarget( const RenderTargetParam ¶m, int &iTextureWidthOut, int &iTextureHeightOut ); void SetRenderTarget( unsigned iHandle, bool bPreserveTexture );