Parcourir la source

added transpose in draw_buffer

Former-commit-id: ad6d9eed3319514593ee3355b706ecdf12f1650b
Daniele Panozzo il y a 10 ans
Parent
commit
2c819ed1f0
1 fichiers modifiés avec 4 ajouts et 3 suppressions
  1. 4 3
      include/igl/viewer/ViewerCore.cpp

+ 4 - 3
include/igl/viewer/ViewerCore.cpp

@@ -448,7 +448,7 @@ IGL_INLINE void igl::ViewerCore::draw_buffer(ViewerData& data,
   viewport = viewport_ori;
   
   // Copy back in the given Eigen matrices
-  GLubyte* pixels;
+  GLubyte* pixels = (GLubyte*)calloc(x*y*4,sizeof(GLubyte));
   glReadPixels
   (
    0, 0,
@@ -457,9 +457,9 @@ IGL_INLINE void igl::ViewerCore::draw_buffer(ViewerData& data,
    );
     
   int count = 0;
-  for (unsigned i=0; i<x; ++i)
+  for (unsigned j=0; j<y; ++j)
   {
-    for (unsigned j=0; j<y; ++j)
+    for (unsigned i=0; i<x; ++i)
     {
       R(i,j) = pixels[count*4+0];
       G(i,j) = pixels[count*4+1];
@@ -470,6 +470,7 @@ IGL_INLINE void igl::ViewerCore::draw_buffer(ViewerData& data,
   }
   
   // Clean up
+  free(pixels);
   glBindFramebuffer(GL_FRAMEBUFFER, 0);
   glDeleteRenderbuffers(1, &rboDepthStencil);
   glDeleteTextures(1, &texColorBuffer);