Commit 1441da7f authored by hybrid's avatar hybrid

Fixed the missing reset of texture matrices. Fixed a reorder warning.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@721 dfc29bdd-3216-0410-991c-e03cc46cb475
parent cda27017
...@@ -581,11 +581,14 @@ void CD3D8Driver::setTransform(E_TRANSFORMATION_STATE state, const core::matrix4 ...@@ -581,11 +581,14 @@ void CD3D8Driver::setTransform(E_TRANSFORMATION_STATE state, const core::matrix4
case ETS_TEXTURE_1: case ETS_TEXTURE_1:
case ETS_TEXTURE_2: case ETS_TEXTURE_2:
case ETS_TEXTURE_3: case ETS_TEXTURE_3:
if (mat.isIdentity())
break;
pID3DDevice->SetTextureStageState( state - ETS_TEXTURE_0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_COUNT2 ); pID3DDevice->SetTextureStageState( state - ETS_TEXTURE_0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_COUNT2 );
pID3DDevice->SetTransform((D3DTRANSFORMSTATETYPE)(D3DTS_TEXTURE0+ ( state - ETS_TEXTURE_0 )), if (mat.isIdentity())
(D3DMATRIX*)((void*)mat.pointer())); pID3DDevice->SetTransform( (D3DTRANSFORMSTATETYPE)(D3DTS_TEXTURE0+ ( state - ETS_TEXTURE_0 )), &UnitMatrixD3D8 );
else
pID3DDevice->SetTransform((D3DTRANSFORMSTATETYPE)(D3DTS_TEXTURE0+ ( state - ETS_TEXTURE_0 )),
(D3DMATRIX*)((void*)mat.pointer()));
break;
case ETS_COUNT:
break; break;
} }
......
...@@ -590,11 +590,12 @@ void CD3D9Driver::setTransform(E_TRANSFORMATION_STATE state, const core::matrix4 ...@@ -590,11 +590,12 @@ void CD3D9Driver::setTransform(E_TRANSFORMATION_STATE state, const core::matrix4
case ETS_TEXTURE_1: case ETS_TEXTURE_1:
case ETS_TEXTURE_2: case ETS_TEXTURE_2:
case ETS_TEXTURE_3: case ETS_TEXTURE_3:
if (mat.isIdentity())
break;
pID3DDevice->SetTextureStageState( state - ETS_TEXTURE_0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_COUNT2 ); pID3DDevice->SetTextureStageState( state - ETS_TEXTURE_0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_COUNT2 );
pID3DDevice->SetTransform((D3DTRANSFORMSTATETYPE)(D3DTS_TEXTURE0+ ( state - ETS_TEXTURE_0 )), if (mat.isIdentity())
(D3DMATRIX*)((void*)mat.pointer())); pID3DDevice->SetTransform( (D3DTRANSFORMSTATETYPE)(D3DTS_TEXTURE0+ ( state - ETS_TEXTURE_0 )), &UnitMatrixD3D9 );
else
pID3DDevice->SetTransform((D3DTRANSFORMSTATETYPE)(D3DTS_TEXTURE0+ ( state - ETS_TEXTURE_0 )),
(D3DMATRIX*)((void*)mat.pointer()));
break; break;
case ETS_COUNT: case ETS_COUNT:
break; break;
......
...@@ -22,8 +22,8 @@ CGUIStaticText::CGUIStaticText(const wchar_t* text, bool border, ...@@ -22,8 +22,8 @@ CGUIStaticText::CGUIStaticText(const wchar_t* text, bool border,
bool background) bool background)
: IGUIStaticText(environment, parent, id, rectangle), Border(border), : IGUIStaticText(environment, parent, id, rectangle), Border(border),
OverrideColorEnabled(false), WordWrap(false), Background(background), OverrideColorEnabled(false), WordWrap(false), Background(background),
OverrideColor(video::SColor(101,255,255,255)), OverrideFont(0), LastBreakFont(0), OverrideColor(video::SColor(101,255,255,255)), BGColor(video::SColor(101,210,210,210)),
BGColor(video::SColor(101,210,210,210)) OverrideFont(0), LastBreakFont(0)
{ {
#ifdef _DEBUG #ifdef _DEBUG
setDebugName("CGUIStaticText"); setDebugName("CGUIStaticText");
......
...@@ -446,15 +446,17 @@ void COpenGLDriver::setTransform(E_TRANSFORMATION_STATE state, const core::matri ...@@ -446,15 +446,17 @@ void COpenGLDriver::setTransform(E_TRANSFORMATION_STATE state, const core::matri
case ETS_TEXTURE_1: case ETS_TEXTURE_1:
case ETS_TEXTURE_2: case ETS_TEXTURE_2:
case ETS_TEXTURE_3: case ETS_TEXTURE_3:
if (mat.isIdentity())
return;
if (MultiTextureExtension) if (MultiTextureExtension)
extGlActiveTexture(GL_TEXTURE0_ARB + ( state - ETS_TEXTURE_0 )); extGlActiveTexture(GL_TEXTURE0_ARB + ( state - ETS_TEXTURE_0 ));
glMatrixMode(GL_TEXTURE); glMatrixMode(GL_TEXTURE);
createGLTextureMatrix(glmat, mat ); if (mat.isIdentity())
glLoadMatrixf(glmat); glLoadIdentity();
else
{
createGLTextureMatrix(glmat, mat );
glLoadMatrixf(glmat);
}
break; break;
default: default:
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment