Browse Source

Reset pixel storage settings after load texture.

shared-context
Doug Binks 11 years ago
parent
commit
a5965635a6
1 changed files with 11 additions and 0 deletions
  1. +11
    -0
      src/nanovg_gl3buf.h

+ 11
- 0
src/nanovg_gl3buf.h View File

@@ -487,10 +487,16 @@ static int glnvg__renderUpdateTexture(void* uptr, int image, int x, int y, int w
{
struct GLNVGcontext* gl = (struct GLNVGcontext*)uptr;
struct GLNVGtexture* tex = glnvg__findTexture(gl, image);
int align,length,pixels,rows;

if (tex == NULL) return 0;
glBindTexture(GL_TEXTURE_2D, tex->tex);

glGetIntegerv(GL_UNPACK_ALIGNMENT,&align);
glGetIntegerv(GL_UNPACK_ROW_LENGTH,&length);
glGetIntegerv(GL_UNPACK_SKIP_PIXELS,&pixels);
glGetIntegerv(GL_UNPACK_SKIP_ROWS,&rows);

glPixelStorei(GL_UNPACK_ALIGNMENT,1);
glPixelStorei(GL_UNPACK_ROW_LENGTH, tex->width);
glPixelStorei(GL_UNPACK_SKIP_PIXELS, x);
@@ -501,6 +507,11 @@ static int glnvg__renderUpdateTexture(void* uptr, int image, int x, int y, int w
else
glTexSubImage2D(GL_TEXTURE_2D, 0, x,y, w,h, GL_RED, GL_UNSIGNED_BYTE, data);

glPixelStorei(GL_UNPACK_ALIGNMENT,align);
glPixelStorei(GL_UNPACK_ROW_LENGTH,length);
glPixelStorei(GL_UNPACK_SKIP_PIXELS,pixels);
glPixelStorei(GL_UNPACK_SKIP_ROWS,rows);

return 1;
}



Loading…
Cancel
Save