5 #ifndef __S_MATERIAL_LAYER_H_INCLUDED__ 6 #define __S_MATERIAL_LAYER_H_INCLUDED__ 37 static const char*
const aTextureClampNames[] = {
38 "texture_clamp_repeat",
39 "texture_clamp_clamp",
40 "texture_clamp_clamp_to_edge",
41 "texture_clamp_clamp_to_border",
42 "texture_clamp_mirror",
43 "texture_clamp_mirror_clamp",
44 "texture_clamp_mirror_clamp_to_edge",
45 "texture_clamp_mirror_clamp_to_border", 0};
72 MatrixAllocator.destruct(TextureMatrix);
73 MatrixAllocator.deallocate(TextureMatrix);
89 if (other.TextureMatrix)
90 *TextureMatrix = *other.TextureMatrix;
93 MatrixAllocator.destruct(TextureMatrix);
94 MatrixAllocator.deallocate(TextureMatrix);
100 if (other.TextureMatrix)
102 TextureMatrix = MatrixAllocator.allocate(1);
103 MatrixAllocator.construct(TextureMatrix,*other.TextureMatrix);
125 TextureMatrix = MatrixAllocator.allocate(1);
128 return *TextureMatrix;
136 return *TextureMatrix;
149 TextureMatrix = MatrixAllocator.allocate(1);
150 MatrixAllocator.construct(TextureMatrix,mat);
153 *TextureMatrix = mat;
173 different |= (TextureMatrix !=
b.TextureMatrix) &&
174 (!TextureMatrix || !
b.TextureMatrix || (*TextureMatrix != *(
b.TextureMatrix)));
182 {
return !(
b!=*
this); }
230 #endif // __S_MATERIAL_LAYER_H_INCLUDED__ SMaterialLayer & operator=(const SMaterialLayer &other)
Assignment operator.
SMaterialLayer(const SMaterialLayer &other)
Copy constructor.
IRRLICHT_API const matrix4 IdentityMatrix
global const identity matrix
const core::matrix4 & getTextureMatrix() const
Gets the immutable texture transformation matrix.
Texture is clamped to the border pixel (if exists)
Texture is alternatingly mirrored (0..1..0..1..0..)
bool TrilinearFilter
Is trilinear filtering enabled? Default: false.
u8 TextureWrapU
Texture Clamp Mode.
bool operator==(const SMaterialLayer &b) const
Equality operator.
Texture is clamped to the edge pixel.
Texture is clamped to the last pixel.
Everything in the Irrlicht Engine can be found in this namespace.
unsigned char u8
8 bit unsigned variable.
SMaterialLayer()
Default constructor.
Struct for holding material parameters which exist per texture layer.
core::matrix4 & getTextureMatrix()
Gets the texture transformation matrix.
ITexture * Texture
Texture.
signed char s8
8 bit signed variable.
u8 AnisotropicFilter
Is anisotropic filtering enabled? Default: 0, disabled.
bool BilinearFilter
Is bilinear filtering enabled? Default: true.
bool operator!=(const SMaterialLayer &b) const
Inequality operator.
4x4 matrix. Mostly used as transformation matrix for 3d calculations.
GLboolean GLboolean GLboolean b
~SMaterialLayer()
Destructor.
Interface of a Video Driver dependent Texture.
s8 LODBias
Bias for the mipmap choosing decision.
Texture is mirrored once and then clamped to edge.
Texture is mirrored once and then clamped (0..1..0)
Very simple allocator implementation, containers using it can be used across dll boundaries.
Texture is mirrored once and then clamped to border.
Struct for holding parameters for a material renderer.
E_TEXTURE_CLAMP
Texture coord clamp mode outside [0.0, 1.0].
void setTextureMatrix(const core::matrix4 &mat)
Sets the texture transformation matrix to mat.