mirror of https://github.com/mpv-player/mpv
vo_opengl: add tex_offset uniform variable to user shaders
This commit is contained in:
parent
2aae5ce0ba
commit
6b8dadd7c1
|
@ -4204,6 +4204,8 @@ The following video options are currently all specific to ``--vo=opengl`` and
|
|||
vec2 target_size
|
||||
The size in pixels of the visible part of the scaled (and possibly
|
||||
cropped) image.
|
||||
vec2 tex_offset
|
||||
Texture offset introduced by user shaders or options like panscan, video-align-x/y, video-pan-x/y.
|
||||
|
||||
Internally, vo_opengl may generate any number of the following textures.
|
||||
Whenever a texture is rendered and saved by vo_opengl, all of the passes
|
||||
|
|
|
@ -1229,6 +1229,11 @@ static void load_shader(struct gl_video *p, struct bstr body)
|
|||
gl_sc_uniform_vec2(p->sc, "target_size",
|
||||
(GLfloat[]){p->dst_rect.x1 - p->dst_rect.x0,
|
||||
p->dst_rect.y1 - p->dst_rect.y0});
|
||||
gl_sc_uniform_vec2(p->sc, "tex_offset",
|
||||
(GLfloat[]){p->src_rect.x0 * p->texture_offset.m[0][0] +
|
||||
p->texture_offset.t[0],
|
||||
p->src_rect.y0 * p->texture_offset.m[1][1] +
|
||||
p->texture_offset.t[1]});
|
||||
}
|
||||
|
||||
// Semantic equality
|
||||
|
|
Loading…
Reference in New Issue