Add SMaterialLayer::hasSetTextureMatrix and SMaterialLayer::resetTextureMatrix

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6479 dfc29bdd-3216-0410-991c-e03cc46cb475
This commit is contained in:
cutealien 2023-04-28 17:46:30 +00:00
parent 13619d8fdf
commit 55e29d3347
3 changed files with 22 additions and 2 deletions

View File

@ -1,6 +1,7 @@
-------------------------- --------------------------
Changes in 1.9 (not yet released) Changes in 1.9 (not yet released)
- Add SMaterialLayer::hasSetTextureMatrix and SMaterialLayer::resetTextureMatrix
- Add IShaderConstantSetCallBack::OnCreate to allow earlier access to IMaterialRendererServices - Add IShaderConstantSetCallBack::OnCreate to allow earlier access to IMaterialRendererServices
- CIrrDeviceWin32::yield() now uses Sleep(0) instead of Sleep(1). - CIrrDeviceWin32::yield() now uses Sleep(0) instead of Sleep(1).
We had Sleep(1) to allow yielding to all processes back in Windows XP time. We had Sleep(1) to allow yielding to all processes back in Windows XP time.

View File

@ -45,7 +45,7 @@ namespace video
"texture_clamp_mirror_clamp_to_border", 0}; "texture_clamp_mirror_clamp_to_border", 0};
//! Struct for holding material parameters which exist per texture layer //! Struct for holding material parameters which exist per texture layer
// Note for implementors: Serialization is in CNullDriver // Note for implementers: Serialization is in CNullDriver
class SMaterialLayer class SMaterialLayer
{ {
public: public:
@ -153,6 +153,25 @@ namespace video
*TextureMatrix = mat; *TextureMatrix = mat;
} }
//! Check if we have set a custom texture matrix
//! Note that otherwise we get an IdentityMatrix as default
inline bool hasSetTextureMatrix() const
{
return TextureMatrix != 0;
}
//! Reset texture matrix to identity matrix
//! Releases memory, which is expensive, but ver rarely useful for optimizations
void resetTextureMatrix()
{
if ( TextureMatrix )
{
MatrixAllocator.destruct(TextureMatrix);
MatrixAllocator.deallocate(TextureMatrix);
TextureMatrix = 0;
}
}
//! Inequality operator //! Inequality operator
/** \param b Layer to compare to. /** \param b Layer to compare to.
\return True if layers are different, else false. */ \return True if layers are different, else false. */

View File

@ -1,4 +1,4 @@
Tests finished. 72 tests of 72 passed. Tests finished. 72 tests of 72 passed.
Compiled as DEBUG Compiled as DEBUG
Test suite pass at GMT Fri Apr 21 14:37:22 2023 Test suite pass at GMT Fri Apr 28 17:44:32 2023