/
TextureMagnificationFilter.js
41 lines (38 loc) · 1.15 KB
/
TextureMagnificationFilter.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import WebGLConstants from "../Core/WebGLConstants.js";
/**
* Enumerates all possible filters used when magnifying WebGL textures.
*
* @enum {number}
*
* @see TextureMinificationFilter
*/
const TextureMagnificationFilter = {
/**
* Samples the texture by returning the closest pixel.
*
* @type {number}
* @constant
*/
NEAREST: WebGLConstants.NEAREST,
/**
* Samples the texture through bi-linear interpolation of the four nearest pixels. This produces smoother results than <code>NEAREST</code> filtering.
*
* @type {number}
* @constant
*/
LINEAR: WebGLConstants.LINEAR,
};
/**
* Validates the given <code>textureMinificationFilter</code> with respect to the possible enum values.
* @param textureMagnificationFilter
* @returns {boolean} <code>true</code> if <code>textureMagnificationFilter</code> is valid.
*
* @private
*/
TextureMagnificationFilter.validate = function (textureMagnificationFilter) {
return (
textureMagnificationFilter === TextureMagnificationFilter.NEAREST ||
textureMagnificationFilter === TextureMagnificationFilter.LINEAR
);
};
export default Object.freeze(TextureMagnificationFilter);