Is it possible to lighten a gltf base color texture in a PBR material using vertex colors?

I know how to multiply my base color texture with vertex colors, but this only allows for a specific type of color blending, mostly tinting and darkening.

However it would be ideal for my purposes if I could lighten a base color texture on a PBR material using vertex color data. Is this possible?

Colors are not clamped by Three.js. So, you can define vertex colors beyond (1,1,1) – this will make the final color brighter. The bright moving stripes in the following demo are made with colors up to (10,10,10); while the dark stripes are normal white (1,1,1).

https://codepen.io/boytchev/full/LYMdKEx

image

Notes:

  • colors are still multiplied, so out-of-domain colors will make the bright parts brighter, but the black will stay black
  • if you want to also brighten the black, you can add emissive color
  • if you do not need to control individual vertices colors, the main material color also accepts values beyond 1
2 Likes

Excellent answer. Thank you.

1 Like