diff --git a/qglengine/core/glshaders_headers.h b/qglengine/core/glshaders_headers.h index 28a3447..8ddd960 100644 --- a/qglengine/core/glshaders_headers.h +++ b/qglengine/core/glshaders_headers.h @@ -57,7 +57,7 @@ const char qgl_fragment_head[] = " vec4 t = texture(qgl_texture_array[qgl_material[qgl_MaterialIndex].map[type].array_index],\n" " vec3(coord, qgl_material[qgl_MaterialIndex].map[type].map_index));\n" " t += tex_shift;\n" - " t = t * qgl_material[qgl_MaterialIndex].map[type].amount + qgl_material[qgl_MaterialIndex].map[type].offset;\n" + " t.rgb = t.rgb * qgl_material[qgl_MaterialIndex].map[type].amount + qgl_material[qgl_MaterialIndex].map[type].offset;\n" " return t;\n" "}\n" "#define qgl_FragColor qgl_FragData[0]\n" diff --git a/qglengine/shaders/ds_geom.glsl b/qglengine/shaders/ds_geom.glsl index 66e38f2..2d7967a 100644 --- a/qglengine/shaders/ds_geom.glsl +++ b/qglengine/shaders/ds_geom.glsl @@ -30,7 +30,8 @@ const float _pe = 2.4e-7; void main(void) { vec2 tc = qgl_FragTexture.xy; - vec4 diffuse = qgl_materialTexture(QGL_MAP_DIFFUSE, tc, vec4(0)) * qgl_material[qgl_MaterialIndex].color_diffuse * object_color; + vec4 diffuse = qgl_materialTexture(QGL_MAP_DIFFUSE, tc, vec4(0)) * object_color; + diffuse.rgb *= qgl_material[qgl_MaterialIndex].color_diffuse.rgb; diffuse.a *= (1.f - qgl_material[qgl_MaterialIndex].transparency); vec3 normal, dn;