update RGBW and added customized rendering func