modified shader to support custom colors