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:
parent
d6b52bcf71
commit
17b7ba3c1b
@ -1277,6 +1277,9 @@ void CNullDriver::updateAllHardwareBuffers()
|
||||
if (Link->LastUsed>20000)
|
||||
{
|
||||
deleteHardwareBuffer(Link);
|
||||
|
||||
// todo: needs better fix
|
||||
Iterator = HWBufferMap.getParentFirstIterator();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -389,6 +389,8 @@ namespace video
|
||||
|
||||
core::stringc vendorName;
|
||||
|
||||
core::matrix4 TextureFlipMatrix;
|
||||
|
||||
#ifdef _IRR_WINDOWS_API_
|
||||
HDC HDc; // Private GDI Device Context
|
||||
HWND Window;
|
||||
|
@ -73,7 +73,7 @@ bool CSceneNodeAnimatorCameraMaya::OnEvent(const SEvent& event)
|
||||
break;
|
||||
case EMIE_MOUSE_WHEEL:
|
||||
case EMIE_COUNT:
|
||||
break;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user