git-svn-id: svn://db.shs.com.ru/libs@613 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2019-10-11 13:34:03 +00:00
parent 7aa7ead1d5
commit a36ef5eb1d
5 changed files with 189 additions and 44 deletions

View File

@@ -19,10 +19,10 @@ void main(void) {
//float logz = log(pos.w * C + 1.) * FC;
vec4 dc = qgl_FragColor;
vec2 tc = qgl_FragTexture.xy;
float hei = dot(texture(qgl_Material.map_relief.map, tc).rgb, luma) * qgl_Material.map_relief.amount + qgl_Material.map_relief.offset;
float hei = dot(texture(qgl_Material.map_relief.map, tc * qgl_Material.map_relief.scale).rgb, luma) * qgl_Material.map_relief.amount + qgl_Material.map_relief.offset;
vec3 n, dn, bn;
dn = texture(qgl_Material.map_normal.map, tc).rgb - vec3(0.5, 0.5, 1.);
dn = texture(qgl_Material.map_normal.map, tc * qgl_Material.map_normal.scale).rgb - vec3(0.5, 0.5, 1.);
dn = dn * qgl_Material.map_normal.amount + qgl_Material.map_normal.offset;
dn.y = -dn.y;
dn = TBN * dn;
@@ -31,15 +31,15 @@ void main(void) {
bn = normalize(qgl_NormalMatrix * binormal);
//n = dn;
dc *= texture(qgl_Material.map_diffuse.map, tc) * qgl_Material.map_diffuse.amount + qgl_Material.map_diffuse.offset;
dc *= texture(qgl_Material.map_diffuse.map, tc * qgl_Material.map_diffuse.scale) * qgl_Material.map_diffuse.amount + qgl_Material.map_diffuse.offset;
vec4 spec = texture(qgl_Material.map_specular.map, tc) * qgl_Material.map_specular.amount + qgl_Material.map_specular.offset;
vec4 spec = texture(qgl_Material.map_specular.map, tc * qgl_Material.map_specular.scale) * qgl_Material.map_specular.amount + qgl_Material.map_specular.offset;
spec *= qgl_Material.color_specular;
float specularity = dot(texture(qgl_Material.map_specularity.map, tc).rgb, luma) * qgl_Material.map_specularity.amount + qgl_Material.map_specularity.offset;
float specularity = dot(texture(qgl_Material.map_specularity.map, tc * qgl_Material.map_specularity.scale).rgb, luma) * qgl_Material.map_specularity.amount + qgl_Material.map_specularity.offset;
specularity = clamp(specularity, 0.05, 0.99);
float reflectivity = qgl_Material.reflectivity;//dot(texture(qgl_Material.map_specularity.map, tc).rgb, luma) * qgl_Material.map_specularity.amount + qgl_Material.map_specularity.offset;
reflectivity = clamp(reflectivity, 0., 1.);
vec4 self = texture(qgl_Material.map_self_illumination.map, tc) * qgl_Material.map_self_illumination.amount + qgl_Material.map_self_illumination.offset;
vec4 self = texture(qgl_Material.map_self_illumination.map, tc * qgl_Material.map_self_illumination.scale) * qgl_Material.map_self_illumination.amount + qgl_Material.map_self_illumination.offset;
self *= qgl_Material.color_self_illumination;
vec3 speed = pos.xyz/pos.w - ppos.xyz/ppos.w;