【发布时间】:2024-01-18 11:03:01
【问题描述】:
我正在创建一个光线追踪器,我正在寻找我的形状(球体)的环境、漫反射和镜面反射强度。当我尝试将这些小于 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);
问题是我需要红色、绿色和蓝色的值是整数,这样我才能返回新颜色。无论如何我可以在不将所有总强度值都归零的情况下做到这一点吗?
【问题讨论】:
-
乘法后转换?
(int)(Color.getRed() * totalIntensity)
标签: java casting integer rgb raytracing