Fixed bug 3347 - OpenGL ES renderer doesn't flip projection matrix for target textures
Simon Hug When updating the viewport in GLES_UpdateViewport, the OpenGL ES renderer doesn't flip the projection matrix for target textures. The lines, rectangles and textures (if drawn with glDrawArrays) are upside down when drawing to target textures.
This commit is contained in:
parent
f1c567b2c1
commit
adea337a51
1 changed files with 15 additions and 6 deletions
|
@ -676,13 +676,22 @@ GLES_UpdateViewport(SDL_Renderer * renderer)
|
|||
renderer->viewport.w, renderer->viewport.h);
|
||||
}
|
||||
|
||||
data->glMatrixMode(GL_PROJECTION);
|
||||
data->glLoadIdentity();
|
||||
if (renderer->viewport.w && renderer->viewport.h) {
|
||||
data->glMatrixMode(GL_PROJECTION);
|
||||
data->glLoadIdentity();
|
||||
data->glOrthof((GLfloat) 0,
|
||||
(GLfloat) renderer->viewport.w,
|
||||
(GLfloat) renderer->viewport.h,
|
||||
(GLfloat) 0, 0.0, 1.0);
|
||||
if (renderer->target) {
|
||||
data->glOrthof((GLfloat) 0,
|
||||
(GLfloat) renderer->viewport.w,
|
||||
(GLfloat) 0,
|
||||
(GLfloat) renderer->viewport.h,
|
||||
0.0, 1.0);
|
||||
} else {
|
||||
data->glOrthof((GLfloat) 0,
|
||||
(GLfloat) renderer->viewport.w,
|
||||
(GLfloat) renderer->viewport.h,
|
||||
(GLfloat) 0,
|
||||
0.0, 1.0);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue