//Defines modes for addressing texels using texture coordinates that are outside of the typical range of 0.0 to 1.0.
enumclassTextureAddressMode{
//Tile the texture at every integer junction.
//For example, for u values between 0 and 3, the texture is repeated three times; no mirroring is performed.
Wrap,
//Similar to Wrap, except that the texture is flipped at every integer junction.
//For u values between 0 and 1, for example, the texture is addressed normally; between 1 and 2, the texture is flipped (mirrored); between 2 and 3, the texture is normal again, and so on.
Mirror,
//Texture coordinates outside the range [0.0, 1.0] are set to the texture color at 0.0 or 1.0, respectively.
Clamp,
//Texture coordinates outside the range [0.0, 1.0] are set to the border color specified.
Border,
//Similar to Mirror and Clamp.
//Takes the absolute value of the texture coordinate (thus, mirroring around 0), and then clamps to the maximum value.
MirrorOnce
};
//Defines filtering types during texture sampling.
enumclassTextureFilter{
//Use linear filtering.
Linear,
//Use point filtering.
Point,
//Use anisotropic filtering.
Anisotropic,
//Use linear filtering to shrink or expand, and point filtering between mipmap levels (mip).
LinearMipPoint,
//Use point filtering to shrink (minify) or expand (magnify), and linear filtering between mipmap levels.
PointMipLinear,
//Use linear filtering to shrink, point filtering to expand, and linear filtering between mipmap levels.
MinLinearMagPointMipLinear,
//Use linear filtering to shrink, point filtering to expand, and point filtering between mipmap levels.
MinLinearMagPointMipPoint,
//Use point filtering to shrink, linear filtering to expand, and linear filtering between mipmap levels.
MinPointMagLinearMipLinear,
//Use point filtering to shrink, linear filtering to expand, and point filtering between mipmap levels.