#version 330 in vec2 fragTexCoord; in vec4 fragColor; uniform sampler2D texture0; uniform vec4 colDiffuse; out vec4 finalColor; const int factor = 30; // x/255 void main() { // Texel color fetching from texture sampler vec4 texelColor = texture(texture0, fragTexCoord)*colDiffuse*fragColor; ivec4 color = ivec4(texelColor / factor * 255); color *= factor; // Calculate final fragment color finalColor = vec4(float(color.r) / 255, float(color.g) / 255, float(color.b) / 255, texelColor.a); }