GLTF_ao scale multiplier

Hey Community, I’m a game dev from Jmonkeyengine community recently we made some changes to the pbr shader of engine to make it update to the latest gltf specs,
I started this thread in jme forums:
hub.jmonkeyengine. org/t/khr-transform/46524/51
and we added gltf normal scale adjustment to the engine, also as emissive color multiplier,
then i found out that we can’t do AO scale strength with engine then i raised this topic in forums:
hub.jmonkeyengine. org/t/gltf-ao-strenght/46553/11
ali_rs tried to implement the 1.0 + strength * (<sampled occlusion texture value> - 1.0) in pbr shader
but i raised this idea:
" i mean how much difference there is between the dark and light areas of the ambient occlusion map a higher contrast means more visible shadows and creases on the model a lower contrast means more subtle and smooth shading on the model
the logic you use to scale the ambient occlusion effect can affect the contrast of the ao map ex, if you use a linear logic like this:

ao = 1.0 + m_AoStrength * (ao - 1.0);

then you are basically adding or subtracting a constant value from ao depending on m_AoStrength this will change the brightness of the ao map but not the contrast.

however, if you use a nonlinear logic like this:

ao = pow(ao, m_AoStrength);

then you are raising ao to a power depending on m_AoStrength this will change both the brightness and the contrast of the ao map"

so it will not be spec of gltf but if i’m right gltf spec itself can change to this, what is your idea please
check the thread jme thread for full information
thank you :slight_smile:

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.