【发布时间】:2013-08-18 01:25:12
【问题描述】:
我目前正在编写一个程序来渲染我的 Minecraft 世界。 它渲染可爱! 问题是下一点涉及的数学: 我想给我的函数一个平均高度和一个当前高度。
如果高度低于平均高度,我将用黑色覆盖这部分,其透明度将取决于数量,但也会被钳制以免使其变黑。
这是我目前拥有的:
public Color getHeightColor(float averageHeight, float height) {
if (averageHeight > height) {
return new Color(0, 0, 0, clamp(height / averageHeight, 0f, 0.8f));
} else {
return new Color(1, 1, 1, clamp(averageHeight / height, 0f, 0.8f));
}
}
不幸的是,这并没有做任何我想让它做的事情,我只是想不出一个好的方法来做这件事,因为我的数学非常糟糕。
编辑:经过一番思考,我将取消亮化,而是将其变暗以使其具有深度感。
谁能指出我正确的方向?
【问题讨论】: