- Fixed mipmaps rendering in Burning's driver.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5318 dfc29bdd-3216-0410-991c-e03cc46cb475master
parent
413316708c
commit
a101d17d06
|
@ -38,11 +38,11 @@ public:
|
|||
virtual ~CSoftwareTexture2();
|
||||
|
||||
//! lock function
|
||||
virtual void* lock(E_TEXTURE_LOCK_MODE mode = ETLM_READ_WRITE, u32 layer = 0) _IRR_OVERRIDE_
|
||||
virtual void* lock(E_TEXTURE_LOCK_MODE mode, u32 level, u32 layer)
|
||||
{
|
||||
if (Flags & GEN_MIPMAP)
|
||||
{
|
||||
MipMapLOD = 0;
|
||||
MipMapLOD = level;
|
||||
Size = MipMap[MipMapLOD]->getDimension();
|
||||
Pitch = MipMap[MipMapLOD]->getPitch();
|
||||
}
|
||||
|
@ -50,6 +50,12 @@ public:
|
|||
return MipMap[MipMapLOD]->getData();
|
||||
}
|
||||
|
||||
//! lock function
|
||||
virtual void* lock(E_TEXTURE_LOCK_MODE mode = ETLM_READ_WRITE, u32 layer = 0) _IRR_OVERRIDE_
|
||||
{
|
||||
return lock(mode, 0, layer);
|
||||
}
|
||||
|
||||
//! unlock function
|
||||
virtual void unlock() _IRR_OVERRIDE_
|
||||
{
|
||||
|
|
|
@ -101,7 +101,7 @@ namespace video
|
|||
//SOFTWARE_DRIVER_2_MIPMAPPING_LOD_BIAS
|
||||
it->lodLevel = lodLevel;
|
||||
it->data = (tVideoSample*) it->Texture->lock(ETLM_READ_ONLY,
|
||||
core::s32_clamp ( lodLevel + SOFTWARE_DRIVER_2_MIPMAPPING_LOD_BIAS, 0, SOFTWARE_DRIVER_2_MIPMAPPING_MAX - 1 ));
|
||||
core::s32_clamp ( lodLevel + SOFTWARE_DRIVER_2_MIPMAPPING_LOD_BIAS, 0, SOFTWARE_DRIVER_2_MIPMAPPING_MAX - 1 ), 0);
|
||||
|
||||
// prepare for optimal fixpoint
|
||||
it->pitchlog2 = s32_log2_s32 ( it->Texture->getPitch() );
|
||||
|
|
Loading…
Reference in New Issue