parameterize max brightness limit

This commit is contained in:
Rytis Karpuska
2019-11-07 02:19:20 +02:00
parent e510814b7c
commit ec76c5f286
12 changed files with 50 additions and 2 deletions

View File

@@ -361,7 +361,9 @@ static void _gl_compose(backend_t *base, struct gl_image *img, GLuint target,
return;
}
GLuint brightness = gl_average_texture_color(base, img);
GLuint brightness = 0;
if (img->max_brightness < 1.0)
brightness = gl_average_texture_color(base, img);
assert(gd->win_shader.prog);
glUseProgram(gd->win_shader.prog);
@@ -381,7 +383,7 @@ static void _gl_compose(backend_t *base, struct gl_image *img, GLuint target,
glUniform1i(gd->win_shader.unifm_brightness, 1);
}
if (gd->win_shader.unifm_max_brightness >= 0) {
glUniform1f(gd->win_shader.unifm_max_brightness, 0.5); //TODO: parameterize
glUniform1f(gd->win_shader.unifm_max_brightness, (float)img->max_brightness);
}
// log_trace("Draw: %d, %d, %d, %d -> %d, %d (%d, %d) z %d\n",
@@ -1436,6 +1438,9 @@ bool gl_image_op(backend_t *base, enum image_operations op, void *image_data,
tex->ewidth = iargs[0];
tex->eheight = iargs[1];
break;
case IMAGE_OP_MAX_BRIGHTNESS:
tex->max_brightness = *(double *)arg;
break;
}
return true;