Fixed bug with Maya cam animator absorbing all wheel events (1983850)

OpenGL render target flip now works with texture clamping (assuming tcoords are 0.0 to 1.0)
Quick fix for crash when removing old hardware buffers.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1366 dfc29bdd-3216-0410-991c-e03cc46cb475
master
bitplane 2008-06-12 03:15:59 +00:00
parent 5ac04338ae
commit 96b3d0beed
4 changed files with 13 additions and 3 deletions

View File

@ -1277,6 +1277,9 @@ void CNullDriver::updateAllHardwareBuffers()
if (Link->LastUsed>20000)
{
deleteHardwareBuffer(Link);
// todo: needs better fix
Iterator = HWBufferMap.getParentFirstIterator();
}
}
}

View File

@ -348,6 +348,9 @@ bool COpenGLDriver::genericDriverInit(const core::dimension2d<s32>& screenSize,
// set fog mode
setFog(FogColor, LinearFog, FogStart, FogEnd, FogDensity, PixelFog, RangeFog);
// create matrix for flipping textures
TextureFlipMatrix.buildTextureTransform(0.0f, core::vector2df(0,0), core::vector2df(0,1.0f), core::vector2df(1.0f,-1.0f));
return true;
}
@ -509,9 +512,11 @@ void COpenGLDriver::setTransform(E_TRANSFORMATION_STATE state, const core::matri
glLoadIdentity();
else
{
createGLTextureMatrix(glmat, mat);
if (isRTT)
glmat[5] *= -1.0f;
createGLTextureMatrix(glmat, mat * TextureFlipMatrix);
else
createGLTextureMatrix(glmat, mat);
glLoadMatrixf(glmat);
}
break;

View File

@ -389,6 +389,8 @@ namespace video
core::stringc vendorName;
core::matrix4 TextureFlipMatrix;
#ifdef _IRR_WINDOWS_API_
HDC HDc; // Private GDI Device Context
HWND Window;

View File

@ -73,7 +73,7 @@ bool CSceneNodeAnimatorCameraMaya::OnEvent(const SEvent& event)
break;
case EMIE_MOUSE_WHEEL:
case EMIE_COUNT:
break;
return false;
}
return true;
}