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: http://svn.code.sf.net/p/irrlicht/code/trunk@1366 dfc29bdd-3216-0410-991c-e03cc46cb475
This commit is contained in:
bitplane 2008-06-12 03:15:59 +00:00
parent d6b52bcf71
commit 17b7ba3c1b
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;
}