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

@ -45,7 +45,7 @@ namespace video
"texture_clamp_mirror_clamp_to_border", 0};
//! 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
{
public:
@ -153,6 +153,25 @@ namespace video
*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
/** \param b Layer to compare to.
\return True if layers are different, else false. */