Vertex color as ambient occlusion

Having the ability to use vertex color data as ambient occlusion (AO) would be very helpful, especially when combined with the PBR shaders. Sometimes you have a complex mesh with no UVs that you'd like to add AO to. No UVs mean no way to use an ambient occlusion texture. AO is a big part of making PBR look realistic and I think a lot of areas would benefit from this feature, from games to product presentations to 3d scanned objects.

Currently we multiply ( Vertex Color × Diffuse Color × AO texture map color ) to get the final rendered color. So, it might already be possible - would need to test.

Do you have some sample?

Actually in PBR we don't use the vertex color, we only use it in classic mode.

We thought about using it in PBR too but we never took any decision yet @cedric @paul_sketch

Ah of course, sorry I forgot about that in PBR.

Any updates on this?
I really think having vertex AO for PBR as well will vastly improve models that do not have UVs.

Vertex color in PBR is coming soon (we'll also add an option to tell if the data is in linear or srgb).
However, it will be used as a multiplication on the diffuse/albedo, so it won't be directly AO.

That's great news.
Would it be possible to add an option for the vertex color to work as AO?

At the beginning, no.
We'd like to wait a bit and see if we really need to expose this option.

We'll try to ping you back when the feature is live!


sorry for unearthing this topic, but any news about this feature ?

i generate some big models without uv map, and i would like to render these mesh with vertex color channels, for ao, roughness, metalness, albedo.

i not found any settings somewhere for doing that.


There’s been no work related to this, sorry. You can currently still only use vertex colors for base color, and opacity.