2.2 渲染结果问题

计算机图形学 498 views 2 replies 🔒 closed
#1 ·

在高亮部分会出现黑色区域,经过排查 ambient,diffuse,specular 单独渲染出来的图片都是正确的,但是合成之后就会出现黑色部分。
第一张图片是出现问题的图片,第二张是只用 specular 渲染出来的效果:

(T$C(0LP2L@VTFI}Z76T2}J
$Y6M)L1O}JTJ2V4D17`JI1

#2 ·

可能是 ambient,diffuse,specular 三个加起来的值太大,超过了 RGB 最大值 255,限制 frame_buf 里的颜色值最大为 255 即可

#3 ·

是的,着色的这三项如果加起来超过了 255,由于最后着色的时候采用的是无符号字符变量进行存储,会导致溢出,所以会出现黑色,所以像@geezmo 说的一样,截断即可

🔒 Closed