我正在创建一个光线追踪器,并且发现了我的形状(球体)的环境,漫反射和镜面反射强度。当我尝试将小于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);
应该会做。