Commit c0e1680f authored by nadro's avatar nadro

- Changed method name from:

 bool IVideoDriver::setRenderTarget(IRenderTarget* target, ...);
 to:
 bool IVideoDriver::setRenderTargetEx(IRenderTarget* target, ...);
- Replaced some deprecated methods in tests.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5223 dfc29bdd-3216-0410-991c-e03cc46cb475
parent 966e05b5
...@@ -175,7 +175,7 @@ int main() ...@@ -175,7 +175,7 @@ int main()
// draw scene into render target // draw scene into render target
// set render target texture // set render target texture
driver->setRenderTarget(renderTarget, video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(0,0,0,255)); driver->setRenderTargetEx(renderTarget, video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(0,0,0,255));
// make cube invisible and set fixed camera as active camera // make cube invisible and set fixed camera as active camera
test->setVisible(false); test->setVisible(false);
...@@ -186,7 +186,7 @@ int main() ...@@ -186,7 +186,7 @@ int main()
// set back old render target // set back old render target
// The buffer might have been distorted, so clear it // The buffer might have been distorted, so clear it
driver->setRenderTarget((video::IRenderTarget*)0, 0, video::SColor(0)); driver->setRenderTargetEx(0, 0, video::SColor(0));
// make the cube visible and set the user controlled camera as active one // make the cube visible and set the user controlled camera as active one
test->setVisible(true); test->setVisible(true);
......
...@@ -576,14 +576,15 @@ namespace video ...@@ -576,14 +576,15 @@ namespace video
geometry with a render target as texture on it when you are rendering geometry with a render target as texture on it when you are rendering
the scene into this render target at the same time. It is usually only the scene into this render target at the same time. It is usually only
possible to render into a texture between the possible to render into a texture between the
IVideoDriver::beginScene() and endScene() method calls. IVideoDriver::beginScene() and endScene() method calls. If you need the
best performance use this method instead of setRenderTarget.
\param target Render target object. \param target Render target object.
\param clearFlag A combination of the E_CLEAR_BUFFER_FLAG bit-flags. \param clearFlag A combination of the E_CLEAR_BUFFER_FLAG bit-flags.
\param clearColor The clear color for the color buffer. \param clearColor The clear color for the color buffer.
\param clearDepth The clear value for the depth buffer. \param clearDepth The clear value for the depth buffer.
\param clearStencil The clear value for the stencil buffer. \param clearStencil The clear value for the stencil buffer.
\return True if sucessful and false if not. */ \return True if sucessful and false if not. */
virtual bool setRenderTarget(IRenderTarget* target, u16 clearFlag, SColor clearColor = SColor(255,0,0,0), virtual bool setRenderTargetEx(IRenderTarget* target, u16 clearFlag, SColor clearColor = SColor(255,0,0,0),
f32 clearDepth = 1.f, u8 clearStencil = 0) = 0; f32 clearDepth = 1.f, u8 clearStencil = 0) = 0;
//! Sets a new render target. //! Sets a new render target.
......
...@@ -764,7 +764,7 @@ void CD3D9Driver::setTextureCreationFlag(E_TEXTURE_CREATION_FLAG flag, ...@@ -764,7 +764,7 @@ void CD3D9Driver::setTextureCreationFlag(E_TEXTURE_CREATION_FLAG flag,
CNullDriver::setTextureCreationFlag(flag, enabled); CNullDriver::setTextureCreationFlag(flag, enabled);
} }
bool CD3D9Driver::setRenderTarget(IRenderTarget* target, u16 clearFlag, SColor clearColor, f32 clearDepth, u8 clearStencil) bool CD3D9Driver::setRenderTargetEx(IRenderTarget* target, u16 clearFlag, SColor clearColor, f32 clearDepth, u8 clearStencil)
{ {
if (target && target->getDriverType() != EDT_DIRECT3D9) if (target && target->getDriverType() != EDT_DIRECT3D9)
{ {
......
...@@ -58,7 +58,7 @@ namespace video ...@@ -58,7 +58,7 @@ namespace video
//! sets a material //! sets a material
virtual void setMaterial(const SMaterial& material) _IRR_OVERRIDE_; virtual void setMaterial(const SMaterial& material) _IRR_OVERRIDE_;
virtual bool setRenderTarget(IRenderTarget* target, u16 clearFlag, SColor clearColor = SColor(255,0,0,0), virtual bool setRenderTargetEx(IRenderTarget* target, u16 clearFlag, SColor clearColor = SColor(255,0,0,0),
f32 clearDepth = 1.f, u8 clearStencil = 0) _IRR_OVERRIDE_; f32 clearDepth = 1.f, u8 clearStencil = 0) _IRR_OVERRIDE_;
//! sets a viewport //! sets a viewport
......
...@@ -678,7 +678,7 @@ ITexture* CNullDriver::createDeviceDependentTextureCubemap(const io::path& name, ...@@ -678,7 +678,7 @@ ITexture* CNullDriver::createDeviceDependentTextureCubemap(const io::path& name,
return new SDummyTexture(name, ETT_CUBEMAP); return new SDummyTexture(name, ETT_CUBEMAP);
} }
bool CNullDriver::setRenderTarget(IRenderTarget* target, u16 clearFlag, SColor clearColor, f32 clearDepth, u8 clearStencil) bool CNullDriver::setRenderTargetEx(IRenderTarget* target, u16 clearFlag, SColor clearColor, f32 clearDepth, u8 clearStencil)
{ {
return false; return false;
} }
...@@ -713,11 +713,11 @@ bool CNullDriver::setRenderTarget(ITexture* texture, u16 clearFlag, SColor clear ...@@ -713,11 +713,11 @@ bool CNullDriver::setRenderTarget(ITexture* texture, u16 clearFlag, SColor clear
SharedRenderTarget->setTexture(texture, depthTexture); SharedRenderTarget->setTexture(texture, depthTexture);
return setRenderTarget(SharedRenderTarget, clearFlag, clearColor, clearDepth, clearStencil); return setRenderTargetEx(SharedRenderTarget, clearFlag, clearColor, clearDepth, clearStencil);
} }
else else
{ {
return setRenderTarget((IRenderTarget*)0, clearFlag, clearColor, clearDepth, clearStencil); return setRenderTargetEx(0, clearFlag, clearColor, clearDepth, clearStencil);
} }
} }
......
...@@ -102,7 +102,7 @@ namespace video ...@@ -102,7 +102,7 @@ namespace video
virtual ITexture* addTextureCubemap(const io::path& name, IImage* imagePosX, IImage* imageNegX, IImage* imagePosY, virtual ITexture* addTextureCubemap(const io::path& name, IImage* imagePosX, IImage* imageNegX, IImage* imagePosY,
IImage* imageNegY, IImage* imagePosZ, IImage* imageNegZ) _IRR_OVERRIDE_; IImage* imageNegY, IImage* imagePosZ, IImage* imageNegZ) _IRR_OVERRIDE_;
virtual bool setRenderTarget(IRenderTarget* target, u16 clearFlag, SColor clearColor = SColor(255,0,0,0), virtual bool setRenderTargetEx(IRenderTarget* target, u16 clearFlag, SColor clearColor = SColor(255,0,0,0),
f32 clearDepth = 1.f, u8 clearStencil = 0) _IRR_OVERRIDE_; f32 clearDepth = 1.f, u8 clearStencil = 0) _IRR_OVERRIDE_;
virtual bool setRenderTarget(ITexture* texture, u16 clearFlag, SColor clearColor = SColor(255,0,0,0), virtual bool setRenderTarget(ITexture* texture, u16 clearFlag, SColor clearColor = SColor(255,0,0,0),
......
...@@ -3665,7 +3665,7 @@ u32 COpenGLDriver::getMaximalPrimitiveCount() const ...@@ -3665,7 +3665,7 @@ u32 COpenGLDriver::getMaximalPrimitiveCount() const
return 0x7fffffff; return 0x7fffffff;
} }
bool COpenGLDriver::setRenderTarget(IRenderTarget* target, u16 clearFlag, SColor clearColor, f32 clearDepth, u8 clearStencil) bool COpenGLDriver::setRenderTargetEx(IRenderTarget* target, u16 clearFlag, SColor clearColor, f32 clearDepth, u8 clearStencil)
{ {
if (target && target->getDriverType() != EDT_OPENGL) if (target && target->getDriverType() != EDT_OPENGL)
{ {
......
...@@ -335,7 +335,7 @@ namespace video ...@@ -335,7 +335,7 @@ namespace video
virtual ITexture* addRenderTargetTexture(const core::dimension2d<u32>& size, virtual ITexture* addRenderTargetTexture(const core::dimension2d<u32>& size,
const io::path& name, const ECOLOR_FORMAT format = ECF_UNKNOWN) _IRR_OVERRIDE_; const io::path& name, const ECOLOR_FORMAT format = ECF_UNKNOWN) _IRR_OVERRIDE_;
virtual bool setRenderTarget(IRenderTarget* target, u16 clearFlag, SColor clearColor = SColor(255,0,0,0), virtual bool setRenderTargetEx(IRenderTarget* target, u16 clearFlag, SColor clearColor = SColor(255,0,0,0),
f32 clearDepth = 1.f, u8 clearStencil = 0) _IRR_OVERRIDE_; f32 clearDepth = 1.f, u8 clearStencil = 0) _IRR_OVERRIDE_;
virtual void clearBuffers(u16 flag, SColor color = SColor(255,0,0,0), f32 depth = 1.f, u8 stencil = 0) _IRR_OVERRIDE_; virtual void clearBuffers(u16 flag, SColor color = SColor(255,0,0,0), f32 depth = 1.f, u8 stencil = 0) _IRR_OVERRIDE_;
......
...@@ -252,7 +252,7 @@ ITexture* CSoftwareDriver::createDeviceDependentTexture(const io::path& name, II ...@@ -252,7 +252,7 @@ ITexture* CSoftwareDriver::createDeviceDependentTexture(const io::path& name, II
return texture; return texture;
} }
bool CSoftwareDriver::setRenderTarget(IRenderTarget* target, u16 clearFlag, SColor clearColor, f32 clearDepth, u8 clearStencil) bool CSoftwareDriver::setRenderTargetEx(IRenderTarget* target, u16 clearFlag, SColor clearColor, f32 clearDepth, u8 clearStencil)
{ {
if (target && target->getDriverType() != EDT_SOFTWARE) if (target && target->getDriverType() != EDT_SOFTWARE)
{ {
......
...@@ -36,7 +36,7 @@ namespace video ...@@ -36,7 +36,7 @@ namespace video
//! sets a material //! sets a material
virtual void setMaterial(const SMaterial& material) _IRR_OVERRIDE_; virtual void setMaterial(const SMaterial& material) _IRR_OVERRIDE_;
virtual bool setRenderTarget(IRenderTarget* target, u16 clearFlag, SColor clearColor = SColor(255,0,0,0), virtual bool setRenderTargetEx(IRenderTarget* target, u16 clearFlag, SColor clearColor = SColor(255,0,0,0),
f32 clearDepth = 1.f, u8 clearStencil = 0) _IRR_OVERRIDE_; f32 clearDepth = 1.f, u8 clearStencil = 0) _IRR_OVERRIDE_;
//! sets a viewport //! sets a viewport
......
...@@ -409,7 +409,7 @@ bool CBurningVideoDriver::endScene() ...@@ -409,7 +409,7 @@ bool CBurningVideoDriver::endScene()
return Presenter->present(BackBuffer, WindowId, SceneSourceRect); return Presenter->present(BackBuffer, WindowId, SceneSourceRect);
} }
bool CBurningVideoDriver::setRenderTarget(IRenderTarget* target, u16 clearFlag, SColor clearColor, f32 clearDepth, u8 clearStencil) bool CBurningVideoDriver::setRenderTargetEx(IRenderTarget* target, u16 clearFlag, SColor clearColor, f32 clearDepth, u8 clearStencil)
{ {
if (target && target->getDriverType() != EDT_BURNINGSVIDEO) if (target && target->getDriverType() != EDT_BURNINGSVIDEO)
{ {
......
...@@ -39,7 +39,7 @@ namespace video ...@@ -39,7 +39,7 @@ namespace video
//! sets a material //! sets a material
virtual void setMaterial(const SMaterial& material) _IRR_OVERRIDE_; virtual void setMaterial(const SMaterial& material) _IRR_OVERRIDE_;
virtual bool setRenderTarget(IRenderTarget* target, u16 clearFlag, SColor clearColor = SColor(255,0,0,0), virtual bool setRenderTargetEx(IRenderTarget* target, u16 clearFlag, SColor clearColor = SColor(255,0,0,0),
f32 clearDepth = 1.f, u8 clearStencil = 0) _IRR_OVERRIDE_; f32 clearDepth = 1.f, u8 clearStencil = 0) _IRR_OVERRIDE_;
//! sets a viewport //! sets a viewport
......
...@@ -41,9 +41,9 @@ bool testWithRenderTarget(video::E_DRIVER_TYPE driverType) ...@@ -41,9 +41,9 @@ bool testWithRenderTarget(video::E_DRIVER_TYPE driverType)
//draw the 256x256 water image on the rendertarget: //draw the 256x256 water image on the rendertarget:
driver->setRenderTarget(renderTarget,video::ECBF_COLOR|video::ECBF_DEPTH,video::SColor(255,0,0,255));//Rendertarget background is blue driver->setRenderTargetEx(renderTarget,video::ECBF_COLOR|video::ECBF_DEPTH,video::SColor(255,0,0,255));//Rendertarget background is blue
driver->draw2DImage(tex, core::position2d<s32>(0,0), core::recti(0,0,32,32)); driver->draw2DImage(tex, core::position2d<s32>(0,0), core::recti(0,0,32,32));
driver->setRenderTarget((video::IRenderTarget*)0, 0); driver->setRenderTargetEx(0, 0);
//draw the rendertarget on screen: //draw the rendertarget on screen:
//this should normally draw a 64x64 image containing a 32x32 image in the top left corner //this should normally draw a 64x64 image containing a 32x32 image in the top left corner
...@@ -165,9 +165,9 @@ bool testExactPlacement(video::E_DRIVER_TYPE driverType) ...@@ -165,9 +165,9 @@ bool testExactPlacement(video::E_DRIVER_TYPE driverType)
video::ITexture* tex=driver->getTexture("../media/fireball.bmp"); video::ITexture* tex=driver->getTexture("../media/fireball.bmp");
driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,40,40,255));//Backbuffer background is blue driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,40,40,255));//Backbuffer background is blue
driver->setRenderTarget(renderTarget, 0, video::ECBF_COLOR | video::ECBF_DEPTH); driver->setRenderTargetEx(renderTarget, 0, video::ECBF_COLOR | video::ECBF_DEPTH);
driver->draw2DImage(tex, core::recti(0,0,32,32), core::recti(0,0,64,64)); driver->draw2DImage(tex, core::recti(0,0,32,32), core::recti(0,0,64,64));
driver->setRenderTarget((video::IRenderTarget*)0, 0, 0); driver->setRenderTargetEx(0, 0, 0);
driver->endScene(); driver->endScene();
video::IImage* img = driver->createImage(renderTargetTex, core::vector2di(), renderTargetTex->getSize()); video::IImage* img = driver->createImage(renderTargetTex, core::vector2di(), renderTargetTex->getSize());
......
...@@ -64,9 +64,9 @@ static bool testWithDriver(video::E_DRIVER_TYPE driverType) ...@@ -64,9 +64,9 @@ static bool testWithDriver(video::E_DRIVER_TYPE driverType)
driver->beginScene(video::ECBF_COLOR, video::SColor(255, 0, 0, 0)); driver->beginScene(video::ECBF_COLOR, video::SColor(255, 0, 0, 0));
// render // render
driver->setRenderTarget(renderTarget, video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,0,0,0)); driver->setRenderTargetEx(renderTarget, video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,0,0,0));
device->getSceneManager()->drawAll(); device->getSceneManager()->drawAll();
driver->setRenderTarget((video::IRenderTarget*)0, 0, video::SColor(255, 0, 0, 0)); driver->setRenderTargetEx(0, 0, video::SColor(255, 0, 0, 0));
// draw debug rt // draw debug rt
driver->draw2DImage(renderTargetTex[0], core::position2d<s32>(0,0)); driver->draw2DImage(renderTargetTex[0], core::position2d<s32>(0,0));
...@@ -80,9 +80,9 @@ static bool testWithDriver(video::E_DRIVER_TYPE driverType) ...@@ -80,9 +80,9 @@ static bool testWithDriver(video::E_DRIVER_TYPE driverType)
driver->beginScene(video::ECBF_COLOR, video::SColor(255, 0, 0, 0)); driver->beginScene(video::ECBF_COLOR, video::SColor(255, 0, 0, 0));
// render // render
device->getSceneManager()->getActiveCamera()->setPosition(core::vector3df(0,0,-15)); device->getSceneManager()->getActiveCamera()->setPosition(core::vector3df(0,0,-15));
driver->setRenderTarget(renderTarget, video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,0,0,0)); driver->setRenderTargetEx(renderTarget, video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,0,0,0));
device->getSceneManager()->drawAll(); device->getSceneManager()->drawAll();
driver->setRenderTarget((video::IRenderTarget*)0, 0, video::SColor(255,0,0,0)); driver->setRenderTargetEx(0, 0, video::SColor(255,0,0,0));
// draw debug rt // draw debug rt
driver->draw2DImage(renderTargetTex[0], core::position2d<s32>(0,0)); driver->draw2DImage(renderTargetTex[0], core::position2d<s32>(0,0));
......
...@@ -190,9 +190,9 @@ bool rttAndZBuffer(video::E_DRIVER_TYPE driverType) ...@@ -190,9 +190,9 @@ bool rttAndZBuffer(video::E_DRIVER_TYPE driverType)
{ {
vd->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255, 0, 0, 0)); vd->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255, 0, 0, 0));
vd->setRenderTarget(renderTarget, 0, video::ECBF_COLOR | video::ECBF_DEPTH); vd->setRenderTargetEx(renderTarget, 0, video::ECBF_COLOR | video::ECBF_DEPTH);
sm->drawAll(); sm->drawAll();
vd->setRenderTarget((video::IRenderTarget*)0, 0, 0); vd->setRenderTargetEx(0, 0, 0);
vd->setTransform(video::ETS_WORLD, core::IdentityMatrix); vd->setTransform(video::ETS_WORLD, core::IdentityMatrix);
vd->setTransform(video::ETS_VIEW, core::IdentityMatrix); vd->setTransform(video::ETS_VIEW, core::IdentityMatrix);
vd->setTransform(video::ETS_PROJECTION, core::IdentityMatrix); vd->setTransform(video::ETS_PROJECTION, core::IdentityMatrix);
...@@ -242,10 +242,10 @@ bool rttAndText(video::E_DRIVER_TYPE driverType) ...@@ -242,10 +242,10 @@ bool rttAndText(video::E_DRIVER_TYPE driverType)
stabilizeScreenBackground(driver); stabilizeScreenBackground(driver);
driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,255, 255, 255)); driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,255, 255, 255));
driver->setRenderTarget(renderTarget, video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,255,0,255)); driver->setRenderTargetEx(renderTarget, video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,255,0,255));
driver->draw2DImage(driver->getTexture("../media/fireball.bmp"), core::recti(0, 0, renderTargetTex->getSize().Width, renderTargetTex->getSize().Height), core::recti(0, 0, 64, 64)); driver->draw2DImage(driver->getTexture("../media/fireball.bmp"), core::recti(0, 0, renderTargetTex->getSize().Width, renderTargetTex->getSize().Height), core::recti(0, 0, 64, 64));
guienv->getBuiltInFont()->draw(L"OMGGG =!", core::rect<s32>(120, 100, 256, 256), video::SColor(255, 0, 0, 255)); guienv->getBuiltInFont()->draw(L"OMGGG =!", core::rect<s32>(120, 100, 256, 256), video::SColor(255, 0, 0, 255));
driver->setRenderTarget((video::IRenderTarget*)0, 0, 0); driver->setRenderTargetEx(0, 0, 0);
driver->endScene(); driver->endScene();
scene::ISceneManager* smgr = device->getSceneManager(); scene::ISceneManager* smgr = device->getSceneManager();
...@@ -286,7 +286,7 @@ static void Render(IrrlichtDevice* device, video::IRenderTarget* rt, core::vecto ...@@ -286,7 +286,7 @@ static void Render(IrrlichtDevice* device, video::IRenderTarget* rt, core::vecto
core::vector3df& pos2, scene::IAnimatedMesh* sphereMesh, core::vector3df& pos3, core::vector3df& pos4) core::vector3df& pos2, scene::IAnimatedMesh* sphereMesh, core::vector3df& pos3, core::vector3df& pos4)
{ {
video::IVideoDriver* driver = device->getVideoDriver(); video::IVideoDriver* driver = device->getVideoDriver();
driver->setRenderTarget(rt, 0, video::ECBF_COLOR | video::ECBF_DEPTH); driver->setRenderTargetEx(rt, 0, video::ECBF_COLOR | video::ECBF_DEPTH);
device->getSceneManager()->drawAll(); device->getSceneManager()->drawAll();
video::SMaterial mat; video::SMaterial mat;
...@@ -398,7 +398,7 @@ bool rttAndAntiAliasing(video::E_DRIVER_TYPE driverType) ...@@ -398,7 +398,7 @@ bool rttAndAntiAliasing(video::E_DRIVER_TYPE driverType)
Render(device, renderTarget3, pos1, pos2, sphereMesh, pos3, pos4); Render(device, renderTarget3, pos1, pos2, sphereMesh, pos3, pos4);
Render(device, renderTarget4, pos1, pos2, sphereMesh, pos3, pos4); Render(device, renderTarget4, pos1, pos2, sphereMesh, pos3, pos4);
device->getVideoDriver()->setRenderTarget((video::IRenderTarget*)0, 0, 0); device->getVideoDriver()->setRenderTargetEx(0, 0, 0);
device->getVideoDriver()->draw2DImage(renderTargetTex1, core::position2di(0, 0)); device->getVideoDriver()->draw2DImage(renderTargetTex1, core::position2di(0, 0));
device->getVideoDriver()->draw2DImage(renderTargetTex2, core::position2di(80, 0)); device->getVideoDriver()->draw2DImage(renderTargetTex2, core::position2di(80, 0));
device->getVideoDriver()->draw2DImage(renderTargetTex3, core::position2di(0, 60)); device->getVideoDriver()->draw2DImage(renderTargetTex3, core::position2di(0, 60));
......
...@@ -280,8 +280,8 @@ static float fuzzyCompareImages(irr::video::IImage * image1, ...@@ -280,8 +280,8 @@ static float fuzzyCompareImages(irr::video::IImage * image1,
return 0.f; return 0.f;
} }
u8 * image1Data = (u8*)image1->lock(); u8 * image1Data = (u8*)image1->getData();
u8 * image2Data = (u8*)image2->lock(); u8 * image2Data = (u8*)image2->getData();
const u32 pixels = (image1->getPitch() * image1->getDimension().Height) / 4; const u32 pixels = (image1->getPitch() * image1->getDimension().Height) / 4;
u32 mismatchedColours = 0; u32 mismatchedColours = 0;
...@@ -304,9 +304,6 @@ static float fuzzyCompareImages(irr::video::IImage * image1, ...@@ -304,9 +304,6 @@ static float fuzzyCompareImages(irr::video::IImage * image1,
mismatchedColours += abs(r1 - r2) + abs(g1 - g2) + abs(b1 - b2); mismatchedColours += abs(r1 - r2) + abs(g1 - g2) + abs(b1 - b2);
} }
image1->unlock();
image2->unlock();
const u32 totalColours = pixels * 255*3; const u32 totalColours = pixels * 255*3;
return 100.f * (totalColours - mismatchedColours) / totalColours; return 100.f * (totalColours - mismatchedColours) / totalColours;
} }
...@@ -358,7 +355,7 @@ void stabilizeScreenBackground(irr::video::IVideoDriver * driver, ...@@ -358,7 +355,7 @@ void stabilizeScreenBackground(irr::video::IVideoDriver * driver,
screenshot = fixedScreenshot; screenshot = fixedScreenshot;
} }
u8 * image1Data = (u8*)screenshot->lock(); u8 * image1Data = (u8*)screenshot->getData();
const u32 pixels = (screenshot->getPitch() * screenshot->getDimension().Height) / 4; const u32 pixels = (screenshot->getPitch() * screenshot->getDimension().Height) / 4;
bool status = true; bool status = true;
......
...@@ -53,7 +53,8 @@ bool renderMipLevels(video::E_DRIVER_TYPE driverType) ...@@ -53,7 +53,8 @@ bool renderMipLevels(video::E_DRIVER_TYPE driverType)
} }
} }
video::ITexture* tex = driver->addTexture("miptest", image, mipdata); image->setMipMapsData(mipdata, false, true);
video::ITexture* tex = driver->addTexture("miptest", image);
if (!tex) if (!tex)
// is probably an error in the mipdata handling // is probably an error in the mipdata handling
return false; return false;
...@@ -131,7 +132,9 @@ bool lockAllMipLevels(video::E_DRIVER_TYPE driverType) ...@@ -131,7 +132,9 @@ bool lockAllMipLevels(video::E_DRIVER_TYPE driverType)
} }
} }
video::ITexture* tex = driver->addTexture("miptest", image, mipdata); image->setMipMapsData(mipdata, false, true);
video::ITexture* tex = driver->addTexture("miptest", image);
if (!tex) if (!tex)
// is probably an error in the mipdata handling // is probably an error in the mipdata handling
return false; return false;
......
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