Actually I prefer using uniform float instead of uniform int.
Because it just consumes one uniform slot whether we use int or float.
[patch]
Index: src/core-data/Common/MatDefs/Post/Posterization.frag
===================================================================
— src/core-data/Common/MatDefs/Post/Posterization.frag (revision 7050)
+++ src/core-data/Common/MatDefs/Post/Posterization.frag (working copy)
@@ -9,9 +9,9 @@
vec4 texVal = texture2D(m_Texture, texCoord);
texVal = pow(texVal, vec4(m_Gamma));
- texVal = texVal * m_NumColors;
- texVal = texVal * vec4(m_NumColors);
texVal = floor(texVal);
- texVal = texVal / m_NumColors;
- texVal = texVal / vec4(m_NumColors);
texVal = pow(texVal, vec4(1.0/m_Gamma));
gl_FragColor = mix(texture2D(m_Texture, texCoord), texVal, m_Strength);
[/patch]