Преглед на файлове

added transpose in draw_buffer

Former-commit-id: ad6d9eed3319514593ee3355b706ecdf12f1650b
Daniele Panozzo преди 10 години
родител
ревизия
2c819ed1f0
променени са 1 файла, в които са добавени 4 реда и са изтрити 3 реда
  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);