2.2 渲染结果问题

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


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

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