Compare commits
No commits in common. "a88dfe19140340ece9c377c8d7a8d96ea6d24f0f" and "70c790c93d18a077d167fb4f154de88435789f51" have entirely different histories.
a88dfe1914
...
70c790c93d
@ -148,8 +148,6 @@ export function MapComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
float value = texColor.r * 3.4;
|
float value = texColor.r * 3.4;
|
||||||
|
|
||||||
|
|
||||||
value = clamp(value, 0.0, 1.0);
|
value = clamp(value, 0.0, 1.0);
|
||||||
|
|
||||||
// 软阈值,避免全场被 return
|
// 软阈值,避免全场被 return
|
||||||
|
|||||||
@ -266,10 +266,21 @@ export function createMeteorologicalColorMap(): Uint8Array {
|
|||||||
for (let j = 0; j < colorRanges.length; j++) {
|
for (let j = 0; j < colorRanges.length; j++) {
|
||||||
const range = colorRanges[j];
|
const range = colorRanges[j];
|
||||||
if (value >= range.range[0] && value <= range.range[1]) {
|
if (value >= range.range[0] && value <= range.range[1]) {
|
||||||
// 使用区间的固定颜色,不进行插值
|
// 在区间内进行线性插值
|
||||||
|
const localT = (value - range.range[0]) / (range.range[1] - range.range[0]);
|
||||||
|
|
||||||
|
if (j < colorRanges.length - 1) {
|
||||||
|
const nextRange = colorRanges[j + 1];
|
||||||
|
// 与下一个颜色进行插值
|
||||||
|
r = Math.floor(range.color[0] + localT * (nextRange.color[0] - range.color[0]));
|
||||||
|
g = Math.floor(range.color[1] + localT * (nextRange.color[1] - range.color[1]));
|
||||||
|
b = Math.floor(range.color[2] + localT * (nextRange.color[2] - range.color[2]));
|
||||||
|
} else {
|
||||||
|
// 最后一个区间,使用固定颜色
|
||||||
r = range.color[0];
|
r = range.color[0];
|
||||||
g = range.color[1];
|
g = range.color[1];
|
||||||
b = range.color[2];
|
b = range.color[2];
|
||||||
|
}
|
||||||
found = true;
|
found = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user