-
Notifications
You must be signed in to change notification settings - Fork 3.5k
/
ColorBlendMode.js
41 lines (38 loc) · 1.17 KB
/
ColorBlendMode.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
define([
'../Core/freezeObject',
'../Core/Math'
], function(
freezeObject,
CesiumMath) {
'use strict';
/**
* Defines different modes for blending between a target color and a primitive's source color.
*
* HIGHLIGHT multiplies the source color by the target color
* REPLACE replaces the source color with the target color
* MIX blends the source color and target color together
*
* @exports ColorBlendMode
*
* @see Model.colorBlendMode
*/
var ColorBlendMode = {
HIGHLIGHT : 0,
REPLACE : 1,
MIX : 2
};
/**
* @private
*/
ColorBlendMode.getColorBlend = function(colorBlendMode, colorBlendAmount) {
if (colorBlendMode === ColorBlendMode.HIGHLIGHT) {
return 0.0;
} else if (colorBlendMode === ColorBlendMode.REPLACE) {
return 1.0;
} else if (colorBlendMode === ColorBlendMode.MIX) {
// The value 0.0 is reserved for highlight, so clamp to just above 0.0.
return CesiumMath.clamp(colorBlendAmount, CesiumMath.EPSILON4, 1.0);
}
};
return freezeObject(ColorBlendMode);
});