我正在创建一个Ray Tracer,我发现了我的形状(球体)的环境,漫反射和镜面反射强度。当我尝试将这些小于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值都变为零的情况下执行此操作吗?
答案 0 :(得分:2)
我相信int red = (int) (Color.getRed() * totalIntensity);
应该做的工作。