我正在创建一个光线追踪器,并且发现了我的形状(球体)的环境,漫反射和镜面反射强度。当我尝试将小于1的这些值转换为整数值时,它们将被截断为零。

int red = Color.getRed() * (int)totalIntensity;
        int green = Color.getGreen() * (int)totalIntensity;
        int blue = Color.getBlue() * (int)totalIntensity;
return new Color(red, green, blue);


问题是我需要将红色,绿色和蓝色的值设置为整数,以便可以返回新颜色。无论如何,我可以在不将所有totalIntensity值都设为零的情况下执行此操作吗?

最佳答案

我相信int red = (int) (Color.getRed() * totalIntensity);应该会做。

10-07 14:06